5.違った時間の流れの中で動かしてみよう!(並行プログラミング)
この章では前の章で作ったオブジェクトに時間の流れを与えて、動かしてみます。
5-1.タイマーの設定!
タイマーオブジェクトを使って、時間の流れを生み出してみましょう。
ここでは「かめ太のペース」を作って、0.5秒間隔で15秒間、実行してみました。
間隔や実行時間を変えて、スピードを変えてみましょう。
かめ太=タートル ! 作る。 |
*実行すると6つのオブジェクトが同じペースで回ります。![]() |
5-2.複数のタイマーの設定!
次に複数のタイマーを設定してみましょう。「かめ太のペース」と「かめ子のペース」を作り、かめ子とかめ代は同じペースで動かしてみます。
かめ太=タートル ! 作る。
|
*実行すると「かめ太」と「三角形」が同じペースで回ります。 また、その5倍のペースで「かめ子」、「かめ代」、「四角形」、「三十六角形」が同じペースで回ります。 ![]() |
どうですか。「かめ太」と「三角形」のグループと「かめ子」、「かめ代」「四角形」、「三十六角形」のグループは違う時間の流れの中で動いているでしょう。
5-3.並列プログラミング
さきほどやったように同時に2つ以上のプログラムを実行するプログラムを書くことを「並列プログラミング」といいます。
上のプログラムの最後に次の6行を付け足してみてください。
実行ボタンを押す前にどのような動きになると思うか想像してから、実行してみてください。
かめ代のペース=タイマー! 作る。
|
![]() |
さて、かめ太たちはどのように動きましたか?
5−2のプログラムを実行した後にかめ太、かめ子、かめ代が歩くと思った人が多いのではないでしょうか?
ドリトルではタイマーオブジェクトは同時に実行されるため、このように3つのタイマーオブジェクトが並行して実行されます。
これが並行プログラミングです。
同じ事を手続き型プログラミング言語でやろうとするととても大変なプログラミングになっていましますが、ドリトルだと意図も簡単にできてしまいます。
かめ太、かめ子、かめ代が図形と一緒に回ってから、歩いていくようにするには次のようにタイマーオブジェクトの実行が終わるのを待たせることで実現できます。
//5−2のプログラムの実行が終わってから、
|
![]() |
(c) 2002 長谷川元洋 All rights researved. ghase@logob.com