処理の順番を考える

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

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

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

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

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

ウサギを進める５

入れ物のカーソル位置 ← ２

ウサギの画像 ← 入れ物のカーソル位置の画像

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

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

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

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

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

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

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

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

並べる順が重要

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

最初の例です。

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

入れ物のカーソル位置 ← ２

の後で

ウサギの画像 ← 入れ物のカーソル位置の画像

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

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

ウサギが

赤色のところに来たときはカーソル位置１の画像に

そうでないときはカーソル位置２の画像になります。

複数の判定が必要なとき

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

ウサギが

黄色のところに来たときはカーソル位置３の画像に

そうでないときはカーソル位置２の画像

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

問題

ウサギが

赤色のところに来たときはカーソル位置１の画像に

黄色のところに来たときはカーソル位置３の画像に

そうでないときはカーソル位置２の画像に

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

間違い

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

赤色のテストをした後、黄色のテストをしています。

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

ウサギを進める

赤色のテストが成り立つので、カーソル位置は１になる

黄色のテストが成り立たないので、カーソル位置は２になる

カーソル位置２の画像が表示される

正解１

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

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

正解２

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