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 Then
        MsgBox "移動可能です"TileMove Index
    End If
End Sub

 タイル(Index番目)がクリックされたら関数MoveOkで移動可能かどうかを調べて、移動可能であればサブプロシージャTileMoveで移動する。


 (3) タイルの移動 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system