タートルがたくさん
Last-modified: 2019-12-28 (土) 17:13:18 (1183d)
#ref(): File not found: "Starlogo-Multi-TurtlePict.PNG" at page "タートルがたくさん" Starlogoでは通常のLogoと違い、画面上にたくさんのタートルが存在します。それらのたくさんのタートルに対し、基本的には「同時に」命令を出します。それにより、1つ1つの独立した位置と方向を持つタートルが「並行動作」します。また、これらの命令に対する反応は、「タートルの状態」と、「場所の状態」に依存するために、結果的に、非常に多様なタートルたちの動きが期待できます。 ここでは、たくさんのタートルに命令を出すことはどういうことか、説明します。 StarLogoのタートル †Starlogoには、Logoと同じ「タートル」が存在します。このタートルに対しての 命令も、基本的にはLogoのそれと変わりありません。 違い †では、何が違うのでしょうか。もっとも大きな違いは、タートルが「たくさん」 いるのです。たくさん、好きなだけ(もちろんシステム上の制限がありますが) 増やせます。 別々な指示が必要? †では、それぞれのタートルに対し、別々に指示しなければならない のでしょうか。実際、その様な方法も考えられますが、StarLogoでは そうしていません。 StarLogoでは、ある命令を下すという事が、基本的に「すべてのタートル」に対して 同じ動作を指示している事になります。一種の放送(Broadcast)ともいえます(※)。 ※Starlogoでは、タートルに「種類:breed」という属性を持たせることによって、 選択的な指示を受けるようにプログラムを書く事もできます。 面白くない動きになる? †これでは、「全てのタートルが同じ動きをして、面白くないのでは」 と思われるかもしれません。しかし、この命令は、それぞれのタートルにとって、 必ずしも「同じ動作」を強制しているわけではありません。 そのからくりは、それぞれのタートルの持つ「状態」と、そのタートルが 行動を行っている「環境」にあります。 タートルの「状態」 †ここで、「状態」とは、タートルが向いている方向や、画面上の位置、 さらにはStarlogo利用者がタートルに持たせた「変数の値」のことです。 タートルに対しての命令や命令の集まり(手続き:Procedureと呼びます) の中には、この状態に依存するものがありますから、状態が違えば、 タートルの動作も変わってきます。 タートルの存在する「環境」 †タートルの動作は、タートル自身の状態だけでなく、 タートルの生息する「環境」すなわち、空間の持つ情報に関係する場合があります。 実際、タートルの動き回る「場所」は「パッチ」と呼ばれる情報を持つ、 正方形領域の集まりです(この正方形領域は、タートル一匹と同じだけの スペースを占めます)。 タートルが、自分の位置の周辺に存在するパッチが持つ情報 を参照し、動作を決める様な手続きを定義することによって、場所(場) によって動作が変化する様な状況をモデル化することが可能になります。 また、タートルの動作の結果、このパッチの情報を書き換える事ができます。 これによって「環境」は変わってゆきます。 <補足> タートルに対しての手続きは、人でいえば「法律」もしくは「ルール」です。 法律やルールはその適用範囲の全ての人に平等に守るように決められてい ますが、実際には、人によって払う税金の額が違ったりします(よね?)。
Counter: 338,
today: 1,
yesterday: 0
|