川崎北高校 情報科 専門教科「アルゴリズム」 〜スロットマシーンを作ろう〜 |
||||||||||||
■要点 | ||||||||||||
|
課題 | フォーム | コード(ソース) | プロパティ&注釈 | |||
---|---|---|---|---|---|---|
課 題 1 |
3つの乱数を表示させ スタート、ストップボタン で操作する。 |
(General) Dim x, y, z As Integer Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Timer1_Timer() x= Int(Rnd(1) * 7 + 1) y= Int(Rnd(1) * 7 + 1) z= Int(Rnd(1) * 7 + 1) Text1.Text = x Text2.Text = y Text3.Text = z End Sub |
・複数のプロシージャで共通の変数を使う場合、Generalプロシージャに変数を宣言する。 ・Timer1のintervalを10くらいに (10ミリ秒に1回実行する) Timer1のEnabledをFalseに (いきなり動くことを防ぐため) |
|||
課 題 2 |
乱数の値が 7ならば赤、 6ならば橙、 5ならば黄、 4ならば緑、 3ならば水色、 2ならば青、 1ならば紫に表示する。 |
各TextBoxのプロシージャーに 以下のコードを追加する。 Private Sub Text1_Change() Select Case Val(Text1.Text) Case 1 Text1.ForeColor = &HFF00FF Case 2 Text1.ForeColor = &HFF0000 Case 3 Text1.ForeColor = &HFFFF00 Case 4 Text1.ForeColor = &HFF00& Case 5 Text1.ForeColor = &HFFFF& Case 6 Text1.ForeColor = &H80FF& Case 7 Text1.ForeColor = &HFF& End Select End Sub |
TextBox2、3も同様に。どこを修正するかわかるかな? | |||
課 題 3 |
3つの乱数が揃ったら Fever! と表示する。 |
Dim x, y, z As Integer
Private Sub Command1_Click()
End Sub Private Sub Command2_Click() Timer1.Enabled = False
End Sub Private Sub Timer1_Timer() x= Int(Rnd(1) * 7 + 1) y= Int(Rnd(1) * 7 + 1) z= Int(Rnd(1) * 7 + 1) Text1.Text = x Text2.Text = y Text3.Text = z End Sub |
Label1のFontをご自由に。 | |||
課 題 4 |
所持金を1000円、1ゲーム10円とする。 同じ数字が3つ揃うと掛け金の何倍かが戻ってくるようにする。 |
Dim x, y, z, m As Integer Private Sub Form_Load() m = 1000 End Sub Private Sub Command1_Click()
Timer1.Enabled = True Text4.Text = m End Sub Private Sub Command2_Click() Timer1.Enabled = False If x = y And y= z Then Label1.Caption = "fever!"
Else Label1.Caption = "Boo!" End If End Sub Private Sub Timer1_Timer() x= Int(Rnd(1) * 7 + 1) y= Int(Rnd(1) * 7 + 1) z= Int(Rnd(1) * 7 + 1) Text1.Text = x Text2.Text = y Text3.Text = z End Sub |
・Form_Load()では、アプリケーションを起動したときに実行するないようを記述する。 ・TextBox4を追加。Captionを1000とする。 |
|||
課 題 5 |
ストップボタンを3つ用意し乱数を1つひとつ止めるにはどうしたらよいか。 | タイマーが3つ、コマンドボタンが4つになります。 | ||||
発 展 |
3つのテキストボックスを3つのピクチャボックスに替えて、画像によるスロットを作る。 |