§2 モグラたたきゲームの制作 VB6 | |
(6) 改良いろいろ T |
モグラたたきゲームが一応完成したので、気の付いたところを改良・機能追加をしていこう。
改良は次の点について行う予定である。
改良いろいろとはしたが、実際にはソフトウェア計画(設計)段階で検討しておくべきものである。「思いつきのように変更していくのは良くない」ということだけは覚えていてもらいたい。
おまけバージョン [Go]
モグラたたきゲームのグラフィック版である。ボタンの代わりにイメージコントロールを使っている。
1. モグラがどこかに常に出ているので、出ない状態も作る。
どのモグラを出すか、すなわちどのボタンの色を変えるかは、次のプログラムリストのようにTimer1_Timerプロシージャ中のユーザ関数Ransuuで決めている。
モグラが出ない状態は、関数Ransuuで0から8以外の数字も出すようにして、その時はボタンの色を変えない(モグラを出さない)ようにすれば良い。
Private Sub Timer1_Timer() Static rr As Integer '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
例えば、関数Ransuuで0から9を出すようにして8を越えるときはボタンの色を変えない(モグラを出さない)ようにする。プログラムでは8以下の時にボタンの色を変える(元に戻す)ようにしている。
・プログラムリスト
Private Sub Timer1_Timer() Static rr As Integer 'Static Dim rn As Integer If rr <= 8 Then '8以下の時にボタンの色を元に戻す Command1(rr).BackColor = QBColor(8) '前回色を変えたボタンの色を元に戻す End If Do rn = Ransuu(0, 9) '乱数 If rn <> rr Then '前回と違う位置 Exit Do End If Loop If rn <= 8 Then '8以下の時にボタンの色を変える Command1(rn).BackColor = QBColor(4) 'モグラの色設定 End If rr = rn End Sub
このままでは、モグラが出ない状態が少ない。
モグラが出ない状態は0から9の内の9の時だけ、すなわち出ない確率は1/10である。そこでモグラが出ない確率を1/2程度にするため乱数発生(関数Ransuu)の範囲を0から17とする。
0〜8 (9) : モグラが出る、 9〜17 (9) : モグラが出ない
rn = Ransuu(0, 17) '乱数
(6) 改良いろいろ T | |
Copyright © 2001,2002 Hiroshi Masuda |