ゲーム画面内にラケットとボールを配置して、ボールが壁で跳ね返ったり、ラケットでボールを打ち返せるようになったので、次は画面上にブロックを配置します。
ブロックを配置するMakeBricksサブプロシージャを作成し、画面を初期化する Form_Load内でこのサブプロシージャを呼び出すようにしてみます。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dx = 2
dy = 2
x = Ball.Left
y = Ball.Top
Timer1.Enabled = True
Timer1.Interval = 5
'ブロックを配置する
MakeBricks()
End Sub
Dim brick As Label(,)
Public Sub MakeBricks()
Dim i, j As Integer
Dim bw, bh As Integer
bw = 40
bh = 10
brick = New Label(9, 5) {}
For i = 0 To 9
For j = 0 To 5
brick(i, j) = New Label()
brick(i, j).BackColor = Color.Red
brick(i, j).Left = i * bw
brick(i, j).Top = j * bh + 50
brick(i, j).Width = bw
brick(i, j).Height = bh
brick(i, j).BorderStyle = BorderStyle.Fixed3D
Me.Controls.Add(brick(i, j))
Next
Next
End Sub
ブロックを配置することができました。
が、ボールはブロックがあってもすり抜けてしまいます。
次は、ブロックとボールの当たり判定です。