川崎北高校 情報科 専門教科「アルゴリズム」
VisualBasicでビンゴゲームを作ろう!
〜配列変数の活用〜
2003,9,21更新
 

ビンゴゲーム
  • 1から75までの乱数を重複せずに発生させる。
  • 乱数の値が1〜15の場合はB、16〜30はI、31〜45はN、46〜60はG、61〜75はOを表示させる。
1次元配列変数 X(75) X(0)〜X(75)まで、76コの変数を使える
値の交換 C=B
B=A
A=C
AとBの値を交換するために変数Cを用意する
多分岐選択 Select Case X
 Case Is〜
 Case Is〜
End Select
Xの値が〜の場合はこうしなさい

内容 フォーム コード


配列変数x(75)と変数jを宣言。
x(1)〜x(75)の値に1〜75の値を代入。
jの初期値を1とする
コマンドボタンをクリックするたびに
1から75までの数字を表示させる
Dim x(75), j As Integer
Private Sub Form_Load()
 For i = 1 To 75
  x(i) = i
 Next i
 j = 1
End Sub
Private Sub Command1_Click()
 Text1.Text = x(j)
 j = j + 1
End Sub


x(1)〜x(75)の中から任意の変数を2つ選んで
値を交換する。
以上の作業を何回(例は10000回)繰り返す。
Dim x(75), j As Integer
Private Sub Form_Load()
 For i = 1 To 75
  x(i) = i
 Next i
 j = 1
 For i = 1 To 10000
  r1 = Int(Rnd(1) * 75 + 1)
  r2 = Int(Rnd(1) * 75 + 1)
  (この部分を考えよう)
  x(r1) = x(r2)
  (この部分を考えよう)
 Next i
End Sub
Private Sub Command1_Click()
Text1.Text = x(j)
j = j + 1
End Sub


テキストボックス2を追加し、
x(j)の値が
16未満ならば"B"
31未満ならば"I"
46未満ならば"N"
61未満ならば"G"
76未満ならば"O"
と表示させる。
Dim x(75), j As Integer
Private Sub Form_Load()
 For i = 1 To 75
  x(i) = i
 Next i
 j = 1
 For i = 1 To 10000
  r1 = Int(Rnd(1) * 75 + 1)
  r2 = Int(Rnd(1) * 75 + 1)
  cash = x(r1)
  x(r1) = x(r2)
  x(r2) = cash
 Next i
End Sub
Private Sub Command1_Click()
 Text1.Text = x(j)
 Select Case x(j)
  Case Is < 16
  Text2.Text = "B"

(この部分は各自考えよう)

 End Select
 j = j + 1
End Sub


コマンドボタンを追加し、「RESET」ボタンにする。
RESETボタンを押すと、配列変数には新たな
乱数を代入する。
考えよう


スタートボタンで乱数が連続して発生
(スロットマシーンの応用、
タイマーコントロールを使う)
ストップボタンで乱数を表示。




「柴田功のBINGOマシーンVer2.0」ダウンロードはこちら(ライブラリーなし、28KB)



さらに、こんなカードも作ってみてはいかがでしょうか?
「digital bingo card ver1.0」ダウンロードはこちら(bingocard.exe ライブラリーなし、32KB)

index