へにょりレーザー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
yamataka

へにょりレーザー

#1

投稿記事 by yamataka » 15年前

私は今、東方でいうへにょりレーザーを作ろうとしています。
http://okabi.blog92.fc2.com/blog-date-200908.html
そして、上記のサイト様を参考にして一回作ってみました。
int lazer[256];
    LoadDivGraph("画像ファイル.png",256,1,256,16,1,lazer);
    int img_width = 16;
    double x1[256],y1[256],x2[256],y2[256];
    double before_x1[256],before_y1[256],before_x2[256],before_y2[256];
    double angle;
(変数などは上記のものを使いました)
while(1){
        x1[0] += 2;
        y1[0] += 1;
        x2[0] += 2;
        y2[0] += 1;
        for(int i=0;i<256 - 1;i++){
            if(x1 > 2)x1[i + 1] += 2;
            if(y1 > 1)y1[i + 1] += 1;
            if(x2 > 2)x2[i + 1] += 2;
            if(y2 > 1)y2[i + 1] += 1;
        }

        for(int i=0;i<256;i++){
            angle = atan2(y1 - y2,x1 - x2);

            DrawModiGraph(before_x1,before_y1,before_x2[i],before_y2[i],x2[i] + img_width * cos(angle + PHI / 2),y2[i] + img_width * sin(angle + PHI / 2),x2[i] + img_width * cos(angle - PHI / 2),y2[i] + img_width * sin(angle - PHI / 2),lazer[i],TRUE);
        }

        ScreenFlip();
    }

上のように作ってみたのですが、参考サイト様に書いてあることとプログラムがどこか色々と合っていないと思うので指摘していただけると有り難いです。
あと、どのようにしてホーミングさせるかを教えていただければ有り難いです。

OSはWindows Vista
コンパイラはMicrosoft Visual C++ 2008 Express Edition

C言語理解度は初心者だと思います。
DXライブラリを使用しています。

(※質問の書き方が間違っていないか心配です。) 画像

ookami

Re:へにょりレーザー

#2

投稿記事 by ookami » 15年前

>(※質問の書き方が間違っていないか心配です。)
はい、例えば、
> どこか色々と合っていないと思うので指摘していただけると有り難いです。
↑というのは、かなりあいまいで、答えづらいですね;

URLを見てみました。
「へにょりレーザー」については、うっすら分かりました。

全体的に、もうちょっと各変数の説明などを
加えてもらったほうが回答が集まると思います。

あと、現状ではどのように動きますか?

--追記

最初の質問文でも、
「ソースコードさえあれば、読み解いて、問題点を探すのが得意」
という人なら、返事があるでしょうが、
より多くの人に見てもらうことを狙うなら、
ソースコード以外の情報がちょっと少ないのでは、という意味です。 画像

yamataka

Re:へにょりレーザー

#3

投稿記事 by yamataka » 15年前

ookamiさん有り難うございます。

すみませんが、もう少し試行錯誤してみることにしました。
(ので、一応解決にしておきます)

閉鎖

“C言語何でも質問掲示板” へ戻る