welcome: please sign in
location: etoys処理の順番を考える

処理の順番を考える

スクリプト内で命令をどの順にならべたらよいのか考えましょう。


スクリプト内では順番に実行される

スクリプト内にいくつかの命令を並べたときは 上から順に実行されます。

3つの命令を並べた例です。

次の3つが順に実行されます。

  1. ウサギを進める5
  2. 入れ物のカーソル位置 ← 2
  3. ウサギの画像 ← 入れ物のカーソル位置の画像

!を押して1回だけ実行してみると分かります。

チクタクでは分かりにくいかもしれません。


1つのスクリプトで考える

つぎの2つのスクリプトを考えます。

1回だけ実行したり、どちらかだけをチクタクにするのはよいのですが

2つともチクタクにすると、全体としての動作が分かりにくくなってしまいます。

2つとも実行したいのであれば 1つのスクリプトにまとめたほうが分かりやすい。

チクタクにするスクリプトは 1つのオブジェクトにたいして1つだけにして考えましょう。


並べる順が重要

正しい順に並べないとうまく動作しないものもあります。

最初の例です。

1回だけ実行するとして考えると

の後で

を行わないとだめなことがわかります。

判定により画像を変える場合も 同じ順番に並べればよい。

ウサギが


複数の判定が必要なとき

複数の判定が必要なときはさらに注意が必要です。

ウサギが

にするときも、同様に書けます。

問題

ウサギが

するにはどうしたらよいでしょうか。

間違い

上の2つのスクリプトのテストの部分を並べたものです。

ウサギが赤色のところにいるときの処理はつぎのようになります。

  1. ウサギを進める
  2. 赤色のテストが成り立つので、カーソル位置は1になる
  3. 黄色のテストが成り立たないので、カーソル位置は2になる
  4. カーソル位置2の画像が表示される

正解1

赤色と重なっていないときだけ 黄色のテストを行えばよいので、

赤色のテストのいいえの部分に黄色のテストを入れます。

正解2

このような方法もあります。

etoys処理の順番を考える (最終更新日時 2012-06-06 02:42:06 更新者 masahiko)