レーダースコープ特有のダメージメーターを表示させます。

フォーム下部に貼り付けているピクチャーボックスに表示させるBitmapを取得する処理を示します。

ダメージは32段階で緑と赤で表示します。また上部にDAMAGE METERと白で表記します。

あとはゲームが開始されたら pictureBox1.Image = GetDamageMeterBitmap(0); を実行すればダメージメーターが表示されます。

それから本当のレーダースコープでは自機がやられるとダメージはリセットしてしまうのですが、これではドキドキ感がないので(実際のところダメージメーターがフルになったのを見たことがない!)、自機がやられてもダメージメーターはリセットされないことにして、ダメージメーターがいっぱいのときに機雷を打ち漏らすと1機を失うことにします。ステージクリアのときはリセットされることにします。

それからステージクリアのときはダメージをリセットする処理を追加します。

ゲームオーバーになったらゲームオーバーの表示をして再プレイするための方法を表示させます。

デザイナでLabelを2つフォーム上にドラッグアンドドロップしてInitFormメソッドを以下のように変更します。

このなかではダメージメーターとGAME OVER、Press S key to Retryと表示させるLabelを中央に表示させるためにX座標を取得しています。

次にIsGameOverプロパティを作成してtrueのときだけこれを表示させます。

Sキーが押されたらもう一度ゲームができるようにします。

ステージクリアしたら次のステージでは敵の動きを速くしたり複雑化するなど課題はたくさんあるけど、とりあえず完成!