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 |