D,E,F の出現を制御するには以下の要素が絡んできます。
・敵の全滅を監視
・敵全滅時からカウント開始するタイマー
・次のイベント(ボス出現)の発生時刻
これらの要素を含んだイベントタスクを用意してやるのがよさそうです。
long event[][2] = {
{10, 'D'},{20, 'E'},{30, 'F'}
};
ev001::init() {
phase = 0;
cnt = 0;
idx = 0;
end_time = 100;
}
ev001::loop() {
if(stage_counter >= end_time)
return false;
switch(phase) {
case 0:
if(敵残存数() <= 0)
phase++;
break;
case 1:
cnt++;
if(event[idx][0] == c) {
敵出現(event[idx][1]);
if(++idx >= 3) return false;
}
}
return true;
}