ミスをしたときの処理

ボールがフィールドの下から外にでた場合はミスとなります。ミスをした場合の処理が必要です。

ミスをしたら残機をひとつ減らす、新しいボールが最初の位置からでてくる
残機がゼロになったらゲームオーバー

ミスをした場合とはボールがフィールドの下から外にでた場合なので、SetBallDirectIfHitWallメソッドで下の壁に当たったと判定された場合になります。

ミスと判定された場合はOnMissメソッドが呼ばれます。

OnMissメソッド

OnMissメソッドではボールが動かないようにするためにタイマーを止めます。そして2秒間休みます。そのあとボールを最初の位置に戻して出現させます。

それからなにもしないとボールがフィールドの外側に描画されるので、ボールの描画をやめます。

以下はそのための処理で追加されたフィールド変数です。

OnMissメソッドとその関連のメソッドを示します。

残機を表示させる

DecrementRestメソッドは残機を減らすメソッドです。ただし残機減らす前提として残機を表示させる必要があります。

残機はフィールドの下側にLabelを作成してそこに表示させます。

これは残機を表示するラベルを作成するメソッドです。コンストラクタの最後に呼んでおけばよいかと思います。

残機の表示は自作したRestCountプロパティでおこないます。したがって残機の表示はこのプロパティを使えばよいということになります。ゲームオーバーかどうかは RestCount == 0 かどうかで判定できます。

またゲーム開始時は残機3ということで開始します。