§2 モグラたたきゲームの制作 VB6
 (4) モグラを出す 前へ 目次へ 次へ 

 制作中の “モグラたたきゲーム” のプログラムを呼び出す。

 モグラを出す代わりにボタンの色を変える。ボタンの色を変えるタイミングは、タイマーコントロールで発生させる。
 フォームにタイマーコントロールを1個配置(場所は適当で良い)する。タイマーのIntervalプロパティは、700(0.7秒)とする。
 色を変えるボタンの番号は乱数で計算することにする。乱数のサンプルで作成した乱数発生のユーザ関数(Ransuu)をモグラたたきゲームのプログラムに追加する。

・プログラムリスト

Private Sub Form_Load()
    <<省略>>
    Next n
    Randomize        '乱数初期化
End Sub

Private Sub Timer1_Timer()
    Static rr As Integer        '(#1)Static
    Dim rn As Integer

    Command1(rr).BackColor = QBColor(8)    '前回色を変えたボタンの色を元に戻す
    Do
        rn = Ransuu(0, 8)        '乱数
        If rn <> rr Then          '前回と違う位置
            Exit Do
        End If
    Loop
    Command1(rn).BackColor = QBColor(4)    'モグラの色設定
    rr = rn
End Sub

Private Function Ransuu(lower As Integer, upper As Integer) As Integer
    Ransuu = Int((upper - lower + 1) * Rnd + lower)
End Function

(#1) Static
 プロシージャ内で宣言された変数は、プロシージャ内だけで有効である。
 Dimで宣言された変数は、プロシージャが呼び出されるごとに変数の領域が用意される。したがって、前回のプロシージャ呼び出しで記憶した値は消えている。
 Staticで宣言された変数(静的変数という)は、プロシージャの呼び出しに関係なく、プログラムが終了するまで、変数の領域が確保されたままになる。したがって、前回のプロシージャ呼び出しで記憶した値はそのまま記憶している。
 ここでは前回、色を変更したボタンの番号を記憶させている。


 (4) モグラを出す 前へ 目次へ 次へ 
Copyright © 2001,2002 Hiroshi Masuda 

 

 

inserted by FC2 system