プログラミング初心者のものです。今STGを作っていてゲームオーバー後にカウンターやフラグなどをすべて初期化して初めから始まるようにしたいのですが敵の弾 EnemyShot関連のものがうまく初期化できません。それで、再び初めからにしたときに変な時に敵の弾が出たりします。
コード:
void re() {
int i;
for (i = 0; i < ENEMY_TOTAL_NUM; i++)
if (enemy[i].flag == 1)
break;
int n, j;
if (enemy[i].flag == 1) {
for (j = 0; j <100; j++) {
for (n = 0; n <200; n++) {
EnemyShot[n].flag = 0;
EnemyShot[j].counter = 0;
}
}
}
counter = 0;
Player.x = 200.0;
Player.y = 400.0;
Player.counter = 0;
enemy[i].flag = 0;
enemy[i].counter = 0;
}
コード:
typedef struct {
int flag;
double x, y;
} ENEMY_SHOTS_t;
//enemy shot
typedef struct {
int flag, pattern, counter, img;
double mem_ex, mem_ey, mem_px, mem_py, Angle[ENEMY_TOTAL_SHOT_NUM];//[200];
ENEMY_SHOTS_t EnemyShots[ENEMY_TOTAL_SHOT_NUM];//[200];
} ENEMY_SHOT_t;
ENEMY_SHOT_t EnemyShot[ENEMY_TOTAL_NUM];//[100];