これまでにつくってきたデジタルインベーダー(MG-880)もどきはあまり見栄えはよくありませんでした。もう少しスタイリッシュにしてみることにします。

Before

After

デザイナ

ピクチャーボックスを貼り付けておきます。これまで使ったコントロールのプロパティも使いますが、見えてしまうと見栄えが悪いので、フォームのサイズ変更をして見えなくしてしまいます。

リソース

ビットマップのリソースを用意します。

プログラムが開始されたらビットマップを読み込みます。そしてコンストラクタ内でピクチャーボックスの初期化を行ないます。初期化の内容は背景を黒色にする、SizeMode プロパティを PictureBoxSizeMode.Zoom に変更することです。

これまで数字インベーダーを文字で表示していましたが、ここではビットマップで表示します。GetBitmapFromString(string str)メソッドは文字列からビットマップを取得するためのメソッドです。

Lifeプロパティ、Targetプロパティも修正します。データを文字ではなくビットマップで示します。

ゲームが開始されたら isGameOverフラグを false にします。ここでLifeプロパティ、Targetプロパティがセットされ、ライフとターゲットが表示されます。

数字インベーダーをビットマップで表示させるためにShowEmemies()メソッドを修正します。

スコアをビットマップで表示させるためにShowScore()メソッドを修正します。

ゲームオーバー時はisGameOverフラグをtrueにすると同時に、ラベルに”GAME OVER 再開 Sキー”と表示させます。

ゲームオーバー時にSキーを押すとゲームが再開されます。ゲーム中に押してもisGameOverフラグの効果でなにも起きません。