welcome: please sign in
location: "etoysカウンタを使った場合分け"の差分
4と23のリビジョン間の差分 (その間の編集: 19回)
2010-07-01 05:58:57時点のリビジョン4
サイズ: 919
編集者: masahiko
コメント:
2011-07-06 05:32:44時点のリビジョン23
サイズ: 4010
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 2: 行 2:
== 時間で場合を分ける ==
変数を用意し、チクタク一回ごとに1加える処理を行った場合を考えます。
 . {{attachment:baaiwake05.png}}
 . {{attachment:baaiwake01.png}}
変数の値は順に増えていきます。
== カウンタを使った場合分け ==

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

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

 . トンボのビューアを開き、変数を作ります。
 . {{attachment:counter01.png}}
 . カウンタという名前で作成しました。
 . タイプはNumberです。値が数値になっていればよい。
 . {{attachment:counter02.png}}

----
=== 回数を数える ===

このようなスクリプトを考えます。
 . {{attachment:counter03.png}}

実行すると、
チクタク一回ごとにカウンタの値が1ずつ順に増えていきます。
行 8: 行 26:
この値を使って場合わけをしてみましょう。
通常では1秒間に8回チクタクで実行されるので、
最初にカウンタの値が1になっていたとすると、
10秒後には81になります。

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

カウンタの値はこのように変化します。
 . {{attachment:counter05.png}}

カウンタの値を使って場合わけをしてみましょう。
行 11: 行 42:
2つの場合に分けるときは、0のところで分けるのが分かりやすい。
 . {{attachment:baaiwake11.png}}
0より小さいときは止まっていて
0より大きいときは動いている
ようにするには

始めの1秒は止まっていて、
その後は動く場合の書き方です。

カウンタの値は1から始まり、
1秒後に9になります。

 . {{attachment:counter06.png}}
境目の値の9と比較して、


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

書き方1
 . 動くときの条件をそのままテストに記入しました。
行 17: 行 59:
書き方2
 . 不等号を逆向きにした例です。
行 18: 行 62:
 . 0がどちらに含まれるかに注意すること。

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

チクタクでは通常1秒間に8回行われるので
3秒動いて、1秒停止させるには、
値が24になったら-8に修正する処理を付け加える。
 . {{attachment:baaiwake10.png}}
----
=== 2つの場合に分ける ===
値aと比較して2つの処理に分ける場合
 . {{attachment:baaiwake08.png}}
比較のテストを行い、はい、いいえのところにそれぞれの処理を書けばよい。
 . {{attachment:baaiwake09.png}}
----
=== 3つの場合に分ける ===
3つに分ける場合
 . {{attachment:baaiwake07.png}}
値の小さい方から順に比較します。
 . まずaと比較し、小さければ処理1を行います。
 . そうでない(aより大きい)ときは、bと比較して処理2または処理3を行います。
 . {{attachment:baaiwake06.png}}
処理2が行われるのは、aより小さいが「いいえ」で、bより小さいが「はい」のときです。

1回の比較に1つのテストタイルを使って書きます。
1番目のテストの「いいえ」の部分に2つ目のテストタイルが入った構造になります。
行 19: 行 91:
 . {{attachment:baaiwake06.png}}
 . {{attachment:baaiwake07.png}}
 . {{attachment:baaiwake08.png}}
 . {{attachment:baaiwake09.png}}
 . {{attachment:baaiwake10.png}}
あみを回す処理を36回行ったら1秒休むスクリプトです。
 . aが0
 . bが36
 . 処理1は「なし」
 . 処理2は「あみを回す」
 . 処理3は「あみのカウント←-8」
----
=== 4つ以上の場合に分ける ===
場合が4つ以上になっても、小さい順に比較するのが分かりやすい。

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

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

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


変数を用意する

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

  • トンボのビューアを開き、変数を作ります。
  • counter01.png

  • カウンタという名前で作成しました。
  • タイプはNumberです。値が数値になっていればよい。
  • counter02.png


回数を数える

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

  • counter03.png

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

  • baaiwake12.png

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

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

  • counter04.png

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

  • counter05.png

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


止まったり動いたり

始めの1秒は止まっていて、 その後は動く場合の書き方です。

カウンタの値は1から始まり、 1秒後に9になります。

  • counter06.png

境目の値の9と比較して、

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

書き方1

  • 動くときの条件をそのままテストに記入しました。
  • [添付]

書き方2

  • 不等号を逆向きにした例です。
  • [添付]

  • 0がどちらに含まれるかに注意すること。

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

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

  • [添付]


2つの場合に分ける

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

  • [添付]

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

  • baaiwake09.png


3つの場合に分ける

3つに分ける場合

  • [添付]

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

  • まずaと比較し、小さければ処理1を行います。
  • そうでない(aより大きい)ときは、bと比較して処理2または処理3を行います。
  • baaiwake06.png

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

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

  • [添付]

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

  • aが0
  • bが36
  • 処理1は「なし」
  • 処理2は「あみを回す」
  • 処理3は「あみのカウント←-8」


4つ以上の場合に分ける

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

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

etoysカウンタを使った場合分け (最終更新日時 2011-07-07 03:03:11 更新者 masahiko)