2009年02月24日

ドリトルについて(その6)おまけ1

ドリトルについて(その6)「続・かめた!千鳥足」」の続きです。
ドリトルの記事全体はカテゴリ「ドリトル」をご覧下さい。

その6のおまけです。

前回、

かめた!千鳥足。
かめこ!千鳥足。
かめお!千鳥足。


としたときに、なぜ3匹同時に進んだのか疑問に感じませんでしたか?

今まで、

命令。
命令。
命令。


と並べたときに上から順番に実行されてきました。そしてそれは、上の行が「終わってから」下の行の実行が始まっていました。

しかし今回は、上の行の実行の終わり(かめたの歩き終わり)を待たずに下の行の実行(かめこやかめおの歩き始め)がされています。

これはタイマーオブジェクトの性質で、タイマーオブジェクトは必ず実行に時間がかかるので、タイマーオブジェクトにより何かを実行している時は終了を待たずにすぐさま次の命令が実行されます。このように複数の処理が同時に行われることを難しい言葉でスレッドといいます。

ただ、かめたが歩き終わってからかめこが出発。かめこが歩き終わってからかめおが出発のようにしたいときもあります。

その場合は、タイマーオブジェクトの命令で「待つ」を実行することにより、次には進まなくなります。

千鳥足の定義の部分で

かめた:千鳥足=「
自分!(乱数(360)) 左回り。
時計=タイマー!作る。
時計!「自分!(乱数(60)−30) 左回り 5 歩く」 実行。
時計!待つ
」。


のように変更すれば、それぞれ歩き終わるまで待ってくれます。
posted by n_shimizu at 23:44| Comment(0) | TrackBack(0) | ドリトル