9ゲームの制作 VB6
 (5) 移動回数のカウント 前へ 目次へ 次へ 

 移動回数の少なさを競うゲームなので、移動回数をカウントする。
 移動回数を記憶する変数Cntは、移動したとき(TileMoveプロシージャ)、ゲーム開始のとき(GameStartプロシージャ)で必要になるので、グローバル変数(各プロシージャで共通に使用できる変数)として宣言する。

 プログラムの先頭(どのプロシージャにも属さない)部分である (General)オブジェクト、(Declarations)プロシージャで宣言する。次の宣言を追加する。

Dim Cnt As Integer      '移動回数用

 ゲーム開始(GameStartプロシージャ)のとき変数Cntを0に設定し、lblKaisuuに表示する。

Private Sub GameStart()
    'タイルをでたらめに移動する。
    Dim before As Integer        '直前に移動したタイルの番号
    Dim n As Integer, rd As Integer

    before = 0
    For n = 1 To 30        '30回移動する。
        Do
            rd = Ransuu(1, 8)
            If MoveOk(rd) = True And before <> rd Then
                Exit Do
            End If
        Loop
        cmdTile_Click (rd)        '移動(交換)
        before = rd
    Next n
    Cnt = 0
    lblKaisuu.Caption = "移動回数:" & Str(Cnt)
End Sub

 タイルをクリックして、移動できたら回数をカウント(Cnt=Cnt+1)し、lblKaisuuに表示する。

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
    Cnt = Cnt + 1
    lblKaisuu.Caption = "移動回数:" & Str(Cnt)
End Sub


 (5) 移動回数のカウント 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system