2017-03-28 6 views
1

私は動物園についてのNetlogoモデルを作成しています。動物園の入り口から24ティック(1ティックは私のモデルでは1時間)ごとに始まる循環路をたどるために、私の動物園の客(複数のカメ)が必要です。動物を収容するケージの周りを移動する必要があります。なぜなら、私のゲストが動物のためのエリアに入ることができないからです。道は速くても短くなくてもいいですが、私はただそれから逃げないように亀を必要としています。私は、経路を作成するためにGISを使用しないことを好むだろう。Netlogoで亀を追うために特定のパスを作成する

私の世界の寸法は両方向で-30〜30であり、折り返しません。ケージの

行方は以下の通りです:あなたのコメントから

patches-own [ tigerhabitat? 
       flamingohabitat? 
       monkeyhabitat? 
       hippohabitat? 
       giraffehabitat? 
      ] 

to create-habitats 
    ask patches with [ pxcor < -12 and pycor > 23 ] 
    [ set tigerhabitat? true 
    set pcolor green ] 

    ask patches with [ pxcor > 20 and pycor > 20 ] 
    [ set hippohabitat? true 
    set pcolor blue ] 

    ask patches with [ pxcor > 18 and pycor < 15 and -1 < pycor ] 
    [ set flamingohabitat? true 
    set pcolor 96 ] 

    ask patches with [ pxcor > -10 and pxcor < 10 and pycor < 10 and -10 < pycor ] 
    [ set monkeyhabitat? true 
    set pcolor green ] 

    ask patches with [ pxcor < -12 and pycor < -20 ] 
    [ set giraffehabitat? true 
    set pcolor 67 ] 

end 
+0

パスに沿って一方向に移動する必要がありますか? –

+0

これらは一方向(前進)に動くことができます。 – paula

+0

あなたがそれらに従うパスはどこですか?私が '生息地を作る 'とき、私はケージを見る。あなたはあなたが何をしようとしたのか、そしてなぜあなたが望むことをやっていないのかについてもっと詳しく説明できますか?どこから始めたらいいか分からないのなら、モデルライブラリに含まれるいくつかのモデルをチェックしてみてください。たとえば、[サーフェスウォーキング2D](http://ccl.northwestern.edu/netlogo/models/Sur​​faceWalking2D)、ウォールフォローの例、または先読みモデルなどです。 –

答えて

1

Paula-私は少し良く、感謝を理解すると思います。カメがどこに移動できるかを制御する簡単な方法の1つは、論理演算子を使用して、それらが歩きながら "考慮する"パッチを除外することです。あなたが望むものの基本的な(パスではない)バージョンでは、かごではないパッチだけを動かすことができます。パッチがケージされているかどうかを明示するパッチのみの変数を設定することができますが、上の例では、ケージ以外のパッチはすべてブラックです。もしそれがパス黒です。たとえば、上記のようにあなたのコードに以下の手順を追加することができます。

to setup 
    ca 
    reset-ticks 
    crt 10 [ 
    setxy -25 0 
    ] 
    create-habitats 
end 


to go 
    exclude-cage-walk 
    tick 
end 


to exclude-cage-walk 
    ask turtles [ 
    rt random 30 - 15 
    let target one-of patches in-cone 1.5 180 with [ pcolor = black ] 
    if target != nobody [ 
     face target 
     move-to target 
    ] 
    ] 
end 

あなたが前方に移動する前に、各カメはそれがmove-toに選択したパッチが黒であるかどうかを評価し、それがある場合ことがわかりますではない黒、カメはそこに移動しません。もちろん、あなたのニーズに合わせてこれを修正して、カメを片方向の回路で歩かせる必要がありますが、カメの動きを制限する簡単な方法です。

+0

ありがとうルークC !!! – paula

関連する問題