シューティングゲームの館18~20の敵のショットについて

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

シューティングゲームの館18~20の敵のショットについて

#1

投稿記事 by こめかみ » 10年前

以前お世話になったこめかみです。

敵のショットの動作について質問があります。

シューティングゲームの館、20章の時点で出来上がるサンプルプログラムで
敵キャラクターのショットの量が前半と後半で変わってしまう理屈がわかりません。

うまく質問できないのですが。
前半の9回の敵のショットより後半9回の敵のショットのスピードというか密度というか
2倍(感覚的に)になるのは何故なんでしょうか。
void EnemyPattern2(int i){
        int j;
        if(enemy.counter<50)
            enemy.y+=4.0f;

        if(enemy.counter==75){
                for(j=0;j<ENEMY_TOTAL_NUM;j++)
                        if(EnemyShot[j].flag==0)
                                break;
                EnemyShot[j].mem_ex=enemy.x;
                EnemyShot[j].mem_ey=enemy.y;
                EnemyShot[j].mem_px=Player.x;
                EnemyShot[j].mem_py=Player.y;
                EnemyShot[j].counter=0;
                EnemyShot[j].flag=1;
                EnemyShot[j].pattern=1;
                EnemyShot[j].img=0;
        }

        if(enemy.counter>100)
                enemy.y-=4.0f;
}


この当たりの関数に特に注目してサンプルをいじりながら考えているのですが。
埒が明かなく投稿させていただきました。
とりあえず一定の速度で発射させるのを目標にしています。
着眼点などのアドバイスよろしくお願いします。

こめかみ

Re:シューティングゲームの館18~20の敵のショットについて

#2

投稿記事 by こめかみ » 10年前

今日はバイトがあるのでそろそろ寝ます。
課題もあるので返信は遅くなってしまうかもしれません。

失礼します。

管理人

Re:シューティングゲームの館18~20の敵のショットについて

#3

投稿記事 by 管理人 » 10年前

それは「敵が出現してから75カウント目に発射」というモジュールを使ってる面で
皆同じですが、その敵が出現するタイミングが違うからです。
敵の出現を管理しているswitch文に
case 50:
case 70:
case 90:
case 110:
case 130:
case 150:
case 170:
case 190:
case 210:
case 220:
case 230:
case 240:
case 250:
case 260:
case 270:
case 280:
case 290:
このようにかかれていると思います。
最初は20ずつだったのに、後半は10ずつになっていますよね。
なので、この間隔を全部同じにすれば同じになります。

こめかみ

できました

#4

投稿記事 by こめかみ » 10年前

丁寧な回答ありがとうございます。

自分はswitch文の意味するところからよく分かっていなかったのですね。

理解できたのでしばらく敵の出現で遊んでみます。

一人で考えてたらきっとうまくいかなかったと思います。
感謝です。

閉鎖

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