1つのスクリプトで考える
動作のタイルを引き出してならべることで、スクリプトをつくることができました。
スクリプトを簡単に作ることができるのですが、 たくさんのスクリプトが同時に(チクタクで)動いていると どのように動作しているのかわかりにくくなってしまいます。
ここでは1つのスクリプトだけを使った動作を考えてみましょう。
1つのもの(オブジェクト)について1つのスクリプトで考えましょう。
- ものがいくつかあるときは、それぞれに1つです。
- もちろん動かないオブジェクトにはスクリプトは不要です。
条件を含まないスクリプト
動作を表すタイルを並べて作ります。
- 進める
- 指定量だけ進みます
- 回す
- 指定角度だけ回転します
- はねかえる
- ウインドウの端にぶつかったとき向きを変える指定です
- 以下の方向に向く
- 指定したオブジェクトの方を向きます
1回の実行ごとに、並べた順に実行されます。
例
3つの命令(タイル)を並べました。
1回実行すると
- いぬを5進める
- いぬを5度回す
- 端にぶつかったら向きを変える
の順に行われます。
チクタクにすると、それが1秒間に8回行われます。
全体が1つのテストタイルのスクリプト
スクリプトの中にテストタイルを1つ配置し
- テストの右に条件を
- 条件が成り立つときの処理をはいの右に
- 条件が成り立たないときの処理をいいえの右に
書きます。
注意
条件は必ず記入すること
はいまたはいいえの少なくとも一方は記入すること
条件には 「以下のモーフが次のものと重なっているか」 を使いましょう。
ドットの部分に相手の名前を入れて使います。
次のように実行されます。
指定した相手と重なったときにははいの右に書いた動作が行われます。
ぶつかっていないときにはいいえの右に書いた動作が行われます。
例
次のように実行されます。
いぬがおやつと重なったときは
- いぬを5進め
- いぬを5度回します
いぬがおやつと重なっていないときは
- いぬを10進めます
動作のタイルとテストタイルを並べたスクリプト
順に並べられたタイルはその順に実行されます。
テストタイルがあるとそこでは条件判定が行われ、 はいかいいえのどちらかの処理が実行されます。
例
次のように実行されます。
- いぬを5進めます
- 端にぶつかったら向きを変えます
いぬがおやつと重なったときは
- いぬを5度回します
いぬがおやつと重ならなかったときは
- いぬを5進めます
- 端にぶつかったら向きを変えます
だけが行われることになります。
応用
上記の考え方を組み合わせて使うことができます。
例
テストタイルを2つ使った例です。
どのような動きになるか考えましょう。