== カウンタを使った場合分け == 止まったり、動いたり、別の動きをしたりなど、 何種類かの動きを決まった順に繰り返すスクリプトを作ります。 ---- === 変数を用意する === 回数を数えるために、変数を用意します。 . トンボのビューアを開き、変数を作ります。 . {{attachment:counter01.png}} . カウンタという名前で作成しました。 . タイプはNumberです。値が数値になっていればよい。 . {{attachment:counter02.png}} ---- === 回数を数える === このようなスクリプトを考えます。 . {{attachment:counter03.png}} 実行すると、 チクタク一回ごとにカウンタの値が1ずつ順に増えていきます。 . {{attachment:baaiwake12.png}} 通常では1秒間に8回チクタクで実行されるので、 最初にカウンタの値が1になっていたとすると、 10秒後には81になります。 10秒経ったらもとの動きにもどすために、 カウンタの値を1に戻す命令を追加しておきます。 (秒数は各自、調整してください) . {{attachment:counter04.png}} カウンタの値はこのように変化します。 . {{attachment:counter05.png}} カウンタの値を使って場合わけをしてみましょう。 ---- === 止まったり動いたり === 始めの1秒は止まっていて、 その後は動く場合の書き方です。 カウンタの値は1から始まり、 1秒後に9になります。 . {{attachment:counter06.png}} 境目の値の9と比較するテストを書きます。 . {{attachment:counter07.png}} '''はい'''の後ろに、カウンタの値が1~8のときの処理を書きます。 . 動かないのなら、何も書かなくてよい。 '''いいえ'''の後ろに、カウンタの値が9以上のときの処理を書きます。 . 動きを書きます。 ---- === 2つの場合に分ける === 値aと比較して2つの処理に分ける場合 . {{attachment:counter08.png}} 比較のテストを行い、はい、いいえのところにそれぞれの処理を書けばよい。 . {{attachment:baaiwake09.png}} ---- === 3つの場合に分ける === 3つに分ける場合 . {{attachment:counter09.png}} 値の小さい方から順に比較します。 . まずaと比較し、小さければ処理1を行います。 . そうでない(aより大きい)ときは、bと比較して処理2または処理3を行います。 . {{attachment:baaiwake06.png}} 処理2が行われるのは、aより小さいが「いいえ」で、bより小さいが「はい」のときです。 1回の比較に1つのテストタイルを使って書きます。 1番目のテストの「いいえ」の部分に2つ目のテストタイルが入った構造になります。 . {{attachment:counter10.png}} このスクリプトと上の図との対応を示します。 . a は 9 . b は 27 . 処理1は「なにもしない」 . 処理2は「進める」 . 処理3は「回す」 ---- === 4つ以上の場合に分ける === 場合が4つ以上になっても、小さい順に比較するのが分かりやすい。 3つに分けるときの書き方で、 最後の「いいえ」の部分にテストタイルを追加します。 . {{attachment:counter11.png}} 4つに分けるには、比較が3回必要です。