龍神録プログラミングの館さて、段々それっぽくなってきましたね。自機ショットと当たり判定を付ければ大分骨格が完成します。自機ショットも基本的に敵がショットを撃つのと考え方は変わりません。弾情報を格納する入れ物をつくって、そこに種類、スピード、角度などの情報を持たせるだけでいいのです。数値さえ設定しておけば計算部が勝手に軌道や当たり判定を計算してくれます。いつものように入れ物を用意します。break;最後に肝心な自機ショット登録部についてです。1回に、自機パワーが200以下なら2発、それ以上なら4発撃たせてみます。その4発の位置を以下のようにしてみます。cshot0pos_y[4]={-30,-30,-10,-10};1発目は(-10,-30)の位置、2発目は(10,-30)の位置、3発目は(-30,-10)。search_cshot()で空いている番号を探して登録します。dranx=cshot[i].spd+11/2,drany=cshot[i].spd+55/2;として判定しているのか補足します。先にそちらの理解が必要ですが、次の章ではもうこのコードは出てこないので、今説明しておきます。ショットは単純にピタゴラスの定理で接触しているかしていないかだけでは当たりを判定出来ません。ショットの速さが200とかで、弾の当たり判定が10とかだと、190はあたらないエリアが出来てしまいます。弾の軌跡を計算して接触を判定する必要があります。弾が画面から外に外れた時、弾を消してしまっては、最後の軌跡が計算出来ません。前フレームで、画面外であり、今のフレームでも画面外の時に消す必要があります。11,55というのはショットの画像サイズです。画面よりスピード+画像サイズ/2分外にあれば、前回も画面外だったことがわかりますから、この時に消してやる必要があるのです。ここの処理ではそれを実現する為にこのようにかかれているのです。