1959
コメント:
|
← 2011-07-07 03:03:11時点のリビジョン31 ⇥
3564
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 1: | 行 1: |
#acl All: == 時間で場合を分ける == 変数を用意し、チクタク一回ごとに1加える処理を行った場合を考えます。 . {{attachment:baaiwake05.png}} . {{attachment:baaiwake01.png}} 変数の値は順に増えていきます。 |
== カウンタを使った場合分け == 止まったり、動いたり、別の動きをしたりなど、 何種類かの動きを決まった順に繰り返すスクリプトを作ります。 ---- === 変数を用意する === 回数を数えるために、変数を用意します。 . トンボのビューアを開き、変数を作ります。 . {{attachment:counter01.png}} . カウンタという名前で作成しました。 . タイプはNumberです。値が数値になっていればよい。 . {{attachment:counter02.png}} ---- === 回数を数える === このようなスクリプトを考えます。 . {{attachment:counter03.png}} 実行すると、 チクタク一回ごとにカウンタの値が1ずつ順に増えていきます。 |
行 8: | 行 25: |
この値を使って場合わけをしてみましょう。 | 通常では1秒間に8回チクタクで実行されるので、 最初にカウンタの値が1になっていたとすると、 10秒後には81になります。 10秒経ったらもとの動きにもどすために、 カウンタの値を1に戻す命令を追加しておきます。 (秒数は各自、調整してください) . {{attachment:counter04.png}} カウンタの値はこのように変化します。 . {{attachment:counter05.png}} カウンタの値を使って場合わけをしてみましょう。 |
行 11: | 行 41: |
2つの場合に分けるときは、0のところで分けるのが分かりやすい。 | |
行 13: | 行 42: |
0より小さいときは止まっていて、 0より大きいときは動くことにします。 0のときはどちらにするのか決めること。 |
始めの1秒は止まっていて、 その後は動く場合の書き方です。 |
行 17: | 行 45: |
. {{attachment:baaiwake11.png}} | カウンタの値は1から始まり、 1秒後に9になります。 |
行 19: | 行 48: |
動く処理だけを書くと次のようになります。 止まっているときには何もしません。 |
. {{attachment:counter06.png}} 境目の値の9と比較するテストを書きます。 . {{attachment:counter07.png}} '''はい'''の後ろに、カウンタの値が1~8のときの処理を書きます。 . 動かないのなら、何も書かなくてよい。 '''いいえ'''の後ろに、カウンタの値が9以上のときの処理を書きます。 . 動きを書きます。 |
行 22: | 行 56: |
書き方1 . 動くときの条件をそのままテストに記入しました。 . {{attachment:baaiwake02.png}} 書き方2 . 不等号を逆向きにした例です。 . {{attachment:baaiwake03.png}} . 0がどちらに含まれるかに注意すること。 何秒間か動いて、何秒間か止まっている処理を繰り返すには、 それぞれの秒数を考えて、 値が一定値を超えたら、値を修正する処理を付け加えればよい。 チクタクでは通常1秒間に8回行われるので 3秒動いて、1秒停止させるには、 値が24になったら-8に修正する処理を付け加える。 . {{attachment:baaiwake10.png}} |
|
行 41: | 行 59: |
. {{attachment:baaiwake08.png}} | . {{attachment:counter08.png}} |
行 46: | 行 64: |
3つに分ける場合 . {{attachment:counter09.png}} 値の小さい方から順に比較します。 . まずaと比較し、小さければ処理1を行います。 . そうでない(aより大きい)ときは、bと比較して処理2または処理3を行います。 . {{attachment:baaiwake06.png}} 処理2が行われるのは、aより小さいが「いいえ」で、bより小さいが「はい」のときです。 |
|
行 47: | 行 72: |
. {{attachment:baaiwake07.png}} . {{attachment:baaiwake06.png}} . {{attachment:baaiwake04.png}} |
1回の比較に1つのテストタイルを使って書きます。 1番目のテストの「いいえ」の部分に2つ目のテストタイルが入った構造になります。 . {{attachment:counter10.png}} このスクリプトと上の図との対応を示します。 . a は 9 . b は 27 . 処理1は「なにもしない」 . 処理2は「進める」 . 処理3は「回す」 ---- === 4つ以上の場合に分ける === 場合が4つ以上になっても、小さい順に比較するのが分かりやすい。 3つに分けるときの書き方で、 最後の「いいえ」の部分にテストタイルを追加します。 . {{attachment:counter11.png}} 4つに分けるには、比較が3回必要です。 |
カウンタを使った場合分け
止まったり、動いたり、別の動きをしたりなど、 何種類かの動きを決まった順に繰り返すスクリプトを作ります。
変数を用意する
回数を数えるために、変数を用意します。
- トンボのビューアを開き、変数を作ります。
- カウンタという名前で作成しました。
- タイプは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つに分けるときの書き方で、 最後の「いいえ」の部分にテストタイルを追加します。
4つに分けるには、比較が3回必要です。