ICTメディア編集U 2025年12月12日
繰り返し処理(タイマー関数)を用いたプログラムの作成
サイコロを模擬するシミュレーションのプログラムを作成してみしたが,ボタンを押すと数値が表示されるだけで,サイコロを振っているという感じが伝わらなかったと思います.
そこで,ボタンを押すことによって,ルーレットのように画面にサイコロの目の値をランダムに表示させ,また,ボタンを押すとサイコロが止まって値が表示されるような,動きのあるプログラムを作成してみましょう.
ボタンが押されるまで繰り返しサイコロの目を表示するには,プログラムの中で繰り返しの処理が必要となります.そこでここでは,タイマー関数を用いた繰り返し処理について見ていきましょう.
タイマー関数を用いた繰り返し処理:
タイマー関数はツールボックスにあるTimerをフォーム上の適当な位置に配置し(実際には,フォーム上には配置されず,下に表示されます.),そのサブプログラムの中に,一定の時間間隔で処理されるコード(動作命令)を書き込むことで,そのコードが繰り返し処理されることになります.

Timer関数のプロパティ設定で重要なものは,Enabled とIntervalです.
Enabled : False か Trueの値によって,タイマーのサブプログラムの実行(イベントの発生)のOFF と ONを決定します.FalseがOFF,TrueがONです.すなわち,Timer1という名前のタイマーがあるとTimer1.Enabledの値をFalseかTrueにかえることで,繰り返し処理のONとOFFができます.はじめはFalseにしておきます.
Interval : この値は,繰り返しの時間間隔で,すなわちイベントの発生する時間間隔をmsec単位で設定できます.1000msecで1秒となります.

演 習
サイコロを模擬した電子サイコロのプログラムを別途作成してみましょう
新しいプロジェクトを“dice2”という名前で開いて,編集していきます.
1) まずは,ツールの ButtonのTextを動作に合わせて“サイコロを振る/止める”にしましょう.

2) ツールボックスからTimer(タイマー関数)を選択し,ウインドウ上の適当な位置に配置します.

3) このTimer1のプロパティを設定します.まず,Enabledは,プログラムを起動したときにはタイマー関数を動かさないということで“False”とします.また,Intervalは,サイコロの目の切り換わる時間間隔になりますが,ここでは“20”としておきます.
4) 先ほどのプログラムでは,サイコロを振る/止めるボタン(Button1という名前)に,乱数を用いてサイコロの目を表示させるコード(動作命令)を入力しました.今回のプログラムでは,タイマー関数(Timer1という名前)に対して,この動作命令を入力します.これによって,タイマー関数がtrueの時に乱数を発生させるようにします.まずは,Timerをクリックして,プロジェクトエディタウインドウで,編集しましょう.そして,サイコロを振る/止めるボタン(Button 1という名前)には,if文を使って,タイマー関数の動作を書き入れます.終了ボタンも終了命令を書き入れます.

Private Sub Form1_Load(ByVal
sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Randomize()
End Sub
Private Sub Timer1_Tick(ByVal
sender As System.Object, ByVal e As System.EventArgs)
Handles Timer1.Tick
Label1.Text = Int(Rnd() * 6 + 1)
End Sub
Private Sub
Button1_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
If (Timer1.Enabled = False)
Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If
End Sub
Private Sub
Button2_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
End
End Sub
if文では,タイマー関数(Timer1)のEnabledによって,タイマー関数が動作(サイコロの目が回転)していないとき(False)は,Trueとしてサイコロの目の表示をさせ,そうでないとき(True)は,Falseとして動作を止めるようにしています.
5) 完成しましたら,動作を確認してみましょう.

6) すべてを保存で,保存しておきましょう.
今回のプログラムは,前回と同様にフォルダにファイルがいくつか入っていますので,保存したい場合には,フォルダごと,コピーしてください.
今回は,乱数とタイマーのプログラムを作成しましたが,様々な事象をシミュレート(模擬)するときに,乱数を良く用いることがあります.また,タイマー関数を用いると,プログラム上で一定の時間間隔で処理を繰り返し行ってくれます.時間変化を模擬する場合の繰り返しなどに用いられます.これらは,シミュレーションのプログラムの基本ですので,他にもシミュレーションのプログラムつくってみることに挑戦してください.
以下を行ってみましょう.
加藤のページへ | ICTメディア編集U | サイコロのプログラムへの画像表示の追加 | 12月12日講義資料の先頭へ