welcome: please sign in

2011-07-06 05:28:58時点のリビジョン22

メッセージを消す
location: etoysカウンタを使った場合分け

カウンタを使った場合分け

止まったり、動いたり、別の動きをしたりなど、 何種類かの動きを決まった順に繰り返すスクリプトを作ります。


変数を用意する

回数を数えるために、変数を用意します。


回数を数える

このようなスクリプトを考えます。

実行すると、 チクタク一回ごとにカウンタの値が1ずつ順に増えていきます。

通常では1秒間に8回チクタクで実行されるので、 最初にカウンタの値が1になっていたとすると、 10秒後には81になります。

10秒経ったらもとの動きにもどすために、 カウンタの値を1に戻す命令を追加しておきます。 (秒数は各自、調整してください)

カウンタの値はこのように変化します。

カウンタの値を使って場合わけをしてみましょう。


止まったり動いたり

2つの場合に分けるときは、0のところで分けるのが分かりやすい。

0より小さいときは止まっていて、 0より大きいときは動くことにします。 0のときはどちらにするのか決めること。

動く処理だけを書くと次のようになります。 止まっているときには何もしません。

書き方1

書き方2

何秒間か動いて、何秒間か止まっている処理を繰り返すには、 それぞれの秒数を考えて、 値が一定値を超えたら、値を修正する処理を付け加えればよい。

チクタクでは通常1秒間に8回行われるので 3秒動いて、1秒停止させるには、 値が24になったら-8に修正する処理を付け加える。


2つの場合に分ける

値aと比較して2つの処理に分ける場合

比較のテストを行い、はい、いいえのところにそれぞれの処理を書けばよい。


3つの場合に分ける

3つに分ける場合

値の小さい方から順に比較します。

処理2が行われるのは、aより小さいが「いいえ」で、bより小さいが「はい」のときです。

1回の比較に1つのテストタイルを使って書きます。 1番目のテストの「いいえ」の部分に2つ目のテストタイルが入った構造になります。

あみを回す処理を36回行ったら1秒休むスクリプトです。


4つ以上の場合に分ける

場合が4つ以上になっても、小さい順に比較するのが分かりやすい。

3つに分けるときの書き方で、 最後の「いいえ」の部分にテストタイルを追加します。