Re5:50歳から始めるラズベリーパイ-11
Re5:50歳から始めるラズベリーパイ
簡単なゲームで学ぶVBAプログラミング入門
amazon kindle版を出版しました。
3.7 ブロック崩しゲームの作成-1
VBAでブロック崩しのようなアクション?ゲームもできます。
そもそも元々の設定に無理があるのですが、1マスを1ブロックとして考えて作ります。ただし、激遅です。
ブロック崩しの一般的な形の、ブロック、ボール、ラケット、ゲーム開始ボタンとスコア(ここでは残り数)そして、「GAMEOVER」表示、クリアしたときの「全消し」表示となります。
(1)画面の設定は、列20×行21の大きさとしました。
初期設定の箇所で
Range("A:T").ColumnWidth = 1.5 '幅を設定する
wi = Columns("A").Width '幅を取得する
Range("1:50").RowHeight = wi
として、列20×行21(50行まで設定しています。)
(2)ラケットの動作
ラケットの大きさは3マスとしました。
ラケットはキーボードからの右方向キーと左方向キーを使用しています。シートイベントは使わずに、(ここが激遅の原因の一つです。)
kx = ActiveCell.Column
左方向キーを押したとき
If (kx<2) Then
rx = rx - 1
If (rx <= 1) Then
rx = 1
End If
End If
右方向キーを押したとき
If (kx>2) Then
rx = rx + 1
If (rx >= 18) Then
rx = 18
End If
End If
'アクティブなセルの位置を元に戻す。
Range("B22").Select
3マスのラケット表示
Cells(20, rx).Interior.Color = RGB(255, 255, 255)
Cells(20, rx + 1).Interior.Color = RGB(255, 255, 255)
Cells(20, rx + 2).Interior.Color = RGB(255, 255, 255)