カテゴリー
Visual Basic

ブロックを配置する

ゲーム画面内にラケットとボールを配置して、ボールが壁で跳ね返ったり、ラケットでボールを打ち返せるようになったので、次は画面上にブロックを配置します。

ブロックを配置する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

ブロックを配置することができました。

が、ボールはブロックがあってもすり抜けてしまいます。

次は、ブロックとボールの当たり判定です。