消したブロックの数をカウントして、その値をスコアとして表示するようにしましょう。
スコアを表示するためのLabelを画面の右上に配置します。そして、NameプロパティをScoreLabelとしておきます。
スコアをカウントするために、フォームに score 変数を追加します。
Public Class Form1
Dim x, y, dx, dy As Integer
Dim score As Integer
:
そして、ブロックを消すごとにscoreをプラスし、最新のスコアをScoreLabelに表示します。
Public Sub HitBricks()
Dim i, j As Integer
Dim r, br As Rectangle
Dim b As Label
br = New Rectangle(x, y, Ball.Width, Ball.Height)
For i = 0 To 9
For j = 0 To 5
b = brick(i, j)
r = New Rectangle(b.Left, b.Top, b.Width, b.Height)
If b.Visible = True And r.IntersectsWith(br) Then
dy = -dy
b.Visible = False
score += 1
Exit Sub
End If
Next
Next
End Sub
タイマーイベント内の最後で、スコアの表示を更新します。
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
HitWall()
HitRacket()
HitBricks()
If CountBricks() = 0 Then
Timer1.Enabled = False
MsgBox("クリアしました!")
End If
If y > Racket.Top + Racket.Height Then
Timer1.Enabled = False
MsgBox("ゲームオーバー")
End If
x = x + dx
y = y + dy
Ball.Left = x
Ball.Top = y
ScoreLabel.Text = "スコア: " & score
End Sub