処理の順番を考える
スクリプト内で命令をどの順にならべたらよいのか考えましょう。
スクリプト内では順番に実行される
スクリプト内にいくつかの命令を並べたときは 上から順に実行されます。
3つの命令を並べた例です。
次の3つが順に実行されます。
- ウサギを進める5
- 入れ物のカーソル位置 ← 2
- ウサギの画像 ← 入れ物のカーソル位置の画像
!を押して1回だけ実行してみると分かります。
チクタクでは分かりにくいかもしれません。
1つのスクリプトで考える
つぎの2つのスクリプトを考えます。
1回だけ実行したり、どちらかだけをチクタクにするのはよいのですが
2つともチクタクにすると、全体としての動作が分かりにくくなってしまいます。
2つとも実行したいのであれば 1つのスクリプトにまとめたほうが分かりやすい。
チクタクにするスクリプトは 1つのオブジェクトにたいして1つだけにして考えましょう。
並べる順が重要
正しい順に並べないとうまく動作しないものもあります。
最初の例です。
1回だけ実行するとして考えると
- 入れ物のカーソル位置 ← 2
の後で
- ウサギの画像 ← 入れ物のカーソル位置の画像
を行わないとだめなことがわかります。
判定により画像を変える場合も 同じ順番に並べればよい。
ウサギが
- 赤色のところに来たときはカーソル位置1の画像に
- そうでないときはカーソル位置2の画像になります。
複数の判定が必要なとき
複数の判定が必要なときはさらに注意が必要です。
ウサギが
- 黄色のところに来たときはカーソル位置3の画像に
- そうでないときはカーソル位置2の画像
にするときも、同様に書けます。
問題
ウサギが
- 赤色のところに来たときはカーソル位置1の画像に
- 黄色のところに来たときはカーソル位置3の画像に
- そうでないときはカーソル位置2の画像に
するにはどうしたらよいでしょうか。
間違い
上の2つのスクリプトのテストの部分を並べたものです。
- 赤色のテストをした後、黄色のテストをしています。
ウサギが赤色のところにいるときの処理はつぎのようになります。
- ウサギを進める
- 赤色のテストが成り立つので、カーソル位置は1になる
- 黄色のテストが成り立たないので、カーソル位置は2になる
- カーソル位置2の画像が表示される
正解1
赤色と重なっていないときだけ 黄色のテストを行えばよいので、
赤色のテストのいいえの部分に黄色のテストを入れます。
正解2
このような方法もあります。