welcome: please sign in
location: "etoys1つのスクリプトで考える"の差分
7と8のリビジョン間の差分
2012-04-25 13:37:04時点のリビジョン7
サイズ: 2175
編集者: masahiko
コメント:
2012-04-27 00:28:42時点のリビジョン8
サイズ: 2422
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 10: 行 10:
1つのもの(オブジェクト)について1つのスクリプトで 1つのもの(オブジェクト)について1つのスクリプトで考えましょう
行 15: 行 15:
次のタイルを並べて作ります。 動作を表すタイルを並べて作ります。
行 21: 行 21:
   . ウインドウの端にぶつかったとき向きを変え    . ウインドウの端にぶつかったとき向きを変える指定で
行 25: 行 25:
 . チクタクにすると、それが1秒間に8回行われます。

==== 例 ====
3つの命令(タイル)を並べました。
行 28: 行 29:
1回実行すると
 1. いぬを5進める
 1. いぬを5度回す
 1. 端にぶつかったら向きを変える
の順に行われます。

チクタクにすると、それが1秒間に8回行われます。

1つのスクリプトで考える

動作のタイルを引き出してならべることで、スクリプトをつくることができました。

スクリプトを簡単に作ることができるのですが、 たくさんのスクリプトが同時に(チクタクで)動いていると どのように動作しているのかわかりにくくなってしまいます。

ここでは1つのスクリプトだけを使った動作を考えてみましょう。

1つのもの(オブジェクト)について1つのスクリプトで考えましょう。

  • ものがいくつかあるときは、それぞれに1つです。
  • もちろん動かないオブジェクトにはスクリプトは不要です。


条件を含まないスクリプト

動作を表すタイルを並べて作ります。

  • 進める
    • 指定量だけ進みます
  • 回す
    • 指定角度だけ回転します
  • はねかえる
    • ウインドウの端にぶつかったとき向きを変える指定です
  • 以下の方向に向く
    • 指定したオブジェクトの方を向きます

1回の実行ごとに、並べた順に実行されます。

3つの命令(タイル)を並べました。

  • script101.png

1回実行すると

  1. いぬを5進める
  2. いぬを5度回す
  3. 端にぶつかったら向きを変える

の順に行われます。

チクタクにすると、それが1秒間に8回行われます。


全体が1つのテストタイルのスクリプト

スクリプトの中にテストタイルを1つ配置し

  • テストの右に条件を
  • 条件が成り立つときの処理をはいの右に
  • 条件が成り立たないときの処理をいいえの右に

書きます。

条件には 以下のモーフが次のものと重なっているか を使いましょう。

ドットの部分に相手の名前を入れて使います。

指定した相手とぶつかったときには はいの右に書いた動作が ぶつかっていないときには いいえの右に書いた動作が 行われます。

  • script102.png


動作のタイルとテストタイルを並べたスクリプト

  • script103.png


応用

  • script104.png

etoys1つのスクリプトで考える (最終更新日時 2012-04-27 00:44:04 更新者 masahiko)