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