どうにもさっぱり分からなくなってしまい、書き込みさせていただきます。
題名の『STG(シューティングゲーム)についてその①』というのは、これからもうしばらく先は
課題のSTGの分からないところを書いていこうと思い、このような題名をとらせていただきました。
では、まずソースを。(非常に長いです)
//ステージ全部の雑魚敵総数
#define TZ_ALL 132
//グローバル
int Stage = 0;
struct E_Zako
{
//変数設定
//波・特攻それぞれ配列を設定
double EZakoX, EZakoY;
int BotuEZako, EZBreak;
int EZakoW, EZakoH;
int EZSpeed;
int EZCounter;
int EZLife;
int TEZ_Set;
int EZakoFlag;
int EZakoType;
int EZCome;
float EZT,EZH,EZY;
//自機から見た角度
double Target_angle;
//自機
int Ziki[2], ZikiX, ZikiY;
//ステージ
int Stage;
};
class C_EZako
{
//全ステージ5・雑魚敵の総数50機
E_Zako EZ[TZ_AL[/url];
EZ_C ez_c[5];
☆自機と弾の変数をこちらに設置
public:
C_EZako();
void EZ_move();
void EZ_Atari();
void EZ_HP(int i, int damage);
void TokAngSet(int i,double ang);
void EZ_TASet(int i);
//リターンの値を設定
int EZ_X(int i){return EZ.EZakoX;} //x座標を返す
int EZ_Y(int i){return EZ.EZakoY;}
int EZ_AS(int i){return EZ.TEZ_Set;}
int EZ_Type(int i){return EZ.EZakoType;}
};
///初期化
C_EZako::C_EZako()
{
EZako = LoadGraph("EZako.bmp");
TEZako = LoadGraph("EZako.bmp");
for(int i = 0; i < 5; ++i){
ez_c.nami = 0;
ez_c.tokkou = 0;
}
//初期化
for(int i = 0; i < TZ_ALL; ++i)
{
for(;;){
int a = rand()%2;
int br = 0;
if(i < 8){
EZ.Stage = 0;
//敵のライフ
EZ.EZLife = 1;
if(a == 0){//波
if(ez_c[0].nami < 5){
EZ.EZakoType = 0;
ez_c[0].nami += 1;
}
else{
br = 1;//breakのことです
}
}
else if(a == 1){//特攻
if(ez_c[0].tokkou < 3){
EZ.EZakoType = 1;
ez_c[0].tokkou += 1;
//br = 0;
}
else{
br = 1;
}
}
}
else if(i < 8 + 14){
EZ[i].Stage = 1;
//敵のライフ
EZ[i].EZLife = 2;
if(a == 0){//波
if(ez_c[1].nami < 10){
EZ[i].EZakoType = 0;
ez_c[1].nami += 1;
}
else{
br = 1;
}
}
else if(a == 1){//特攻
if(ez_c[1].tokkou < 4){
EZ[i].EZakoType = 1;
ez_c[1].tokkou += 1;
//br = 0;
}
else{
br = 1;
}
}
}
else if(i < 8 + 14 + 20){
EZ[i].Stage = 2;
//敵のライフ
EZ[i].EZLife = 3;
以下次のところに書きます。