2017-12-06 21 views
0

私は現在、パス計画について私のプロジェクトを行っています。Netlogo:移動カメと距離を計算

だから私の計画のステップは、このようなものです:

  1. クリックして「設定」配置するすべての
  2. クリックして移動するカメを作成するには、「スタート」座標
  3. をクリックするために「行く」を最も近い座標( "x"のラベル)に行く移動カメ
  4. これは、ステップ4で、移動するカメはすでにすべての座標との距離を計算することを意味します。ここで

私はインターフェイスおよびコーディング

The interface

to setup 
clear-all 
set-default-shape turtles "x" 
create-turtles 9 
ask turtles[set color red] 

ask turtle 0[setxy 0 15] 
ask turtle 1[setxy 4 15] 
ask turtle 2[setxy -4 15] 
ask turtle 3[setxy 0 12] 
ask turtle 4[setxy 4 12] 
ask turtle 5[setxy -4 12] 
ask turtle 6[setxy 0 9] 
ask turtle 7[setxy 4 9] 
ask turtle 8[setxy -4 9] 
end 

to start 
set-default-shape turtles "airplane" 
create-turtles 1 

ask turtle 9[setxy 0 -15] 
end 

答えて

1

は距離がトポロジに依存していることを忘れないでください添付する。

to setup 
    clear-all 
    let targets [ 
    [0 15] [4 15] [-4 15] 
    [0 12] [4 12] [-4 12] 
    [0 9] [4 9] [-4 9] 
    ] 
    foreach targets [xy -> ask patch item 0 xy item 1 xy [ 
    sprout 1 [set shape "x" set color red] 
    ] 
    ] 
    create-turtles 1 [ set shape "airplane" setxy 0 -15] 
end 

EDIT:資格がターゲットとして、他の全てのカメを扱う場合は、ターゲットにturtle 9を移動したら、それはそこに滞在します。あなたがそれを望まないなら、同じ場所にあるタートルは適格ではないと言います。

+0

ありがとうございます。 私はあなたの与えられたコーディングを使用するとき、システムは "XYという名前のNothinfが定義されています"と答えました。 –

+0

@ AzamAsri- Netlogoのバージョンはありますか? Alanのコード(新しいファイルにコピーされたもの)はNetlogo 6.0.2で私にとってはうまくいきますが、もしあなたが6.0を持っていれば、あなたは... [xy - > '... to ...' [[xy] - > '... –

+0

ああ、そうだ。私はバージョン5.0.4を持っています。 私はまずそれを更新しようとします –