9ゲームの制作 VB6 | |
(3) タイルの移動 |
2. タイルの入れ替え処理
変数flagがTrue(真)のときだけタイルの座標を交換する。値の入れ替えには、ひとつの作業用の変数を用意して行う。次の図3-2は変数AとBの値の入れ替えである。作業用の変数としてworkを使用している。
図3-2 |
タイルを移動する処理はサブプロシージャ(サブルーチン) TileMove として作成することにする。TileMoveプロシージャはnum番目のタイルを移動する。
・プログラムリスト
Private Sub TileMove(num As Integer) Dim work As Integer 'Index番目と9番目のタイルの座標を交換 work = cmdTile(num).Top cmdTile(num).Top = cmdTile(9).Top 'Top 入れ替え cmdTile(9).Top = work work = cmdTile(num).Left cmdTile(num).Left = cmdTile(9).Left 'Left 入れ替え cmdTile(9).Left = work End Sub
タイルをクリックしたときに処理される cmdTile_Clickプロシージャを次のように変更する。
Private Sub cmdTile_Click(Index As Integer) If MoveOk(Index) = True ThenMsgBox "移動可能です"→ TileMove Index End If End Sub
タイル(Index番目)がクリックされたら関数MoveOkで移動可能かどうかを調べて、移動可能であればサブプロシージャTileMoveで移動する。
(3) タイルの移動 | |
Copyright © 2001,2002 Hiroshi Masuda |