welcome: please sign in

2011-05-24 08:28:48時点のリビジョン21

メッセージを消す
location: etoys状態とイベントに分けて考える

状態とイベントに分けて考える

状態とは

イベントとは


状態図

状態は角の丸い長方形で表し、中に内容を書きます。

ある状態から、ある状態に変わることを矢印でつないで表します。

イベントは矢印に記入します。

開始状態は黒丸で表します。

終了状態が必要なときはこの記号を使います。


例1

スタートボタンを押すと2匹がかけっこを始め、どちらかがゴールについたらどちらが勝ったか表示して止まる。
あるものにぶつかったときは別の動作をする。

1匹ずつ考えます。

ウサギの状態を考え、どのように変わるかを矢印でつなぐと状態図ができます。


それぞれの状態の部分に対応するスクリプトを考えます。

joutai06.png

joutai07.png

joutai08.png

joutai09.png


次に矢印に対応する処理を追加していきます。

joutai07.png

ウサギの向きを変えたあと イベント記入のない矢印に対応する命令がありませんが、 このスクリプトがチクタクで動作している状態を考えると、 ぶつかったときに1回向きを変えて、 チクタクにもどっているのが分かります。

ゴールに着いたときの処理も同様にテストタイルで追加できます。

表示を行った後はチクタク状態に戻らず、 終了するため「ストップする」が必要です。

開始の処理はボタンのスクリプトに書きます。

右の矢印は「ウサギのスクリプト1」につながっているので 「ウサギのスクリプト1」をスタートする命令を加えます。

このスクリプトは1回だけ実行されます。チクタクではありません。


例2

赤ずきんは花畑によってからおばあさんの家に行く。

状態とイベントに分けて考えるとこのようになります。

「花畑に向かっている」と「おばあさんの家に向かっている」は どちらもチクタクで動作します。

それぞれを1つのスクリプトで記述するとすれば、

「花畑に向かっている」は

「おばあさんの家に向かっている」は