必要な変数
変数のほとんどはグローバル変数として定義します。ファイルが大量に分割された壮大なプロジェクトでもないので、ローカルにすると下手にこんがらがってしまいます(少なくとも私は…)。ポインタとか意味はわかりますが、使いこなす自信はありません(きっぱり)。なので、for文などで使い捨てする変数以外は全部グローバルで良いと思っています。間違えて変な動作をするよりは、簡単なほうを選択するという初心者的な発想です。
いつもなら変数名を覚えるのが面倒なので、1~3文字で、敵機なら int e[10,6] と2次元配列にしてしまいますが、今回は多少ソースを見やすくするために6の部分を別々にわかりやすい名前にしました。
で、今回用意した変数は以下の通り。
const int tamakazu = 10; //自機の弾の最大数 const int tekikazu = 10; //敵機の最大数 const int ttamakazu = 100; //敵機の弾の最大数 const int expkazu = 50; //爆発エフェクトの最大数 int tama[tamakazu]; //自機の弾フラグ int tamaX[tamakazu]; //自機の弾のX座標 int tamaY[tamakazu]; //自機の弾のY座標 int tamacnt; //次弾発射までのカウンタ int teki[tekikazu]; //敵機フラグ int tekiX[tekikazu]; //敵機のX座標 int tekiY[tekikazu]; //敵機のY座標 int spd[tekikazu]; //敵機の速度 int tekicnt[tekikazu]; //次弾発射までのカウンタ int tekicntmx[tekikazu]; //次弾発射までの間隔 int ttama[ttamakazu]; //敵機の弾フラグ int ttamaX[ttamakazu]; //敵機の弾のX座標 int ttamaY[ttamakazu]; //敵機の弾のY座標 int ttamaXspd[ttamakazu]; //敵機の弾のX方向速度 int ttamaYspd[ttamakazu]; //敵機の弾のY方向速度 int exp[expkazu]; //爆発フラグ int expX[expkazu]; //爆発のX座標 int expY[expkazu]; //爆発のY座標 int expXspd[expkazu]; //爆発のX方向速度 int expYspd[expkazu]; //爆発のY方向速度 int expcnt[expkazu]; //爆発が消えるまでのカウンタ int score; //スコア int highscore[5]; //ハイスコア int mouX , mouY; //マウスの座標取得用 int Ghandle[5]; //グラフィックを読み込むハンドル |
上記以外にも変数は必要になってくると思いますが、製作過程で都度追加していきます。