前回 デジタルインベーダー(MG-880)もどきを作るの続きです。UFOを出現させる処理とゲームクリアとゲームオーバーの処理を実装します。

ゲーム電卓 – Wikipediaによると、UFOが出現する条件は、0以外の数字インベーダーを撃破した際に撃破した数字の合計が10の倍数になっている場合でした。そこでここではUFOを出現させる処理を行ないます。

フィールド変数 HitNumbersにこれまで撃墜した数字インベーダーの合計を保存して、新たに数字インベーダーを撃墜したときに10の倍数になっているかを調べます。

UFOを出現させるべきときにタイマーイベントが発生したらUFOを出現させます。

ステージクリア時にはUFOの出現に関する情報はクリアします。

最後にゲームオーバー判定をおこないます。

まずはライフに関するプロパティを作ります。

最初のライフは3です。ミスするごとに1減り、ゼロになったらゲームオーバーです。ところがステージクリアをすると3に戻ります。それからゲームオーバーになったあとやミス時やクリア時の得点表示がされているときは操作できないようにします。

それからミスを3回しなくてもゲームオーバーになることがあります。発射できる弾は1ステージあたり30発までであり、打ち尽くすとゲームオーバーとなります。