!!敵の弾構造体 typedef struct{ !表示しているか否かの判定 int flag; double x; double y; double xspeed; double yspeed; int speed; !自機と敵機の距離計算 double d; int attack; !弾の種類:当たり判定のとき使用 int type; }Tama; !!基本的な考え switch文で弾の種類を調べ、その弾にあったx,y座標、x,yそれぞれに進むベクトルを計算・代入。 move()関数を用意する。x,yの進む先の計算はxspeed,yspeedに格納されているので、ここではx+=xspeed,y+=yspeedのみを行う。 →弾構造体配列に、弾の準備ができたら前詰めに代入することで、必要最低限の配列数で済む。どの方向に進むべきかはxspeed,yspeedに格納されているので、弾の種類が順不同で格納されていても問題なく計算できる。 !!作成した敵弾 直線弾、発射時自機を狙って撃つ弾、ホーミング弾、円形弾、渦巻き状に撃つ弾、ランダムに上から降ってくる弾、自機を囲んで移動制限する弾、放射状に撃って自機の移動を制限する弾、扇形に撃つ弾、ある程度直線に進む→炸裂する弾