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