2016-06-23 9 views
2

どのようにパッチを設定できるか質問したいと思います。特定のパッチからの距離に影響を受けるnetlogoパッチ

初期状態にある点には赤いパッチがあります。他のパッチは、赤いパッチからの距離の影響を受けます。距離が遠くに行くほど、その影響は大きくなります。

初心者としては単純ではないかもしれません。私を助けてください!

+0

非常によく似た質問については、http://stackoverflow.com/questions/37856220/in-netlogo-can-i-ask-agents-to-die-along-a-gradient-from-a-central-patchを参照してください。と答える。 –

答えて

1

編集ニコラスを含めることは、これは、彼らが赤のパッチにある青い近いである可能性が高いので、それはグラデーション効果も持っているでしょう

to example 

    let red-patch one-of patches with [pcolor = red] 

    ask red-patch [ 
    ask other patches [ 
     if random-float 1 > (distance red-patch/(max [distance red-patch] of patches)) 
     [set pcolor blue] 
    ] 
    ] 
end 

を表彰します。 >を<に反転するだけでその効果が逆転します。

+2

このコードには微妙な間違いがあります。「自分」の最初の出現だけが赤いパッチを参照しています。 'of'ブロックの中にある2番目の'自分自身 'は' ask other patches'ブロックからの現在のパッチを参照します。それにもかかわらず、世界ラッピングが有効になっている場合、2つのパッチ間の最大距離は同じであるため、動作するようになります。ただし、ワールドラッピングがオフになっている場合、「パッチの最大距離」はパッチごとに異なります。私は 'red-patchのパッチの1つを[pcolor = red]とし、赤いパッチを明示的に参照することをお勧めします。 「自分自身」はトリッキーです! –

+0

ガー、ありがとう。愚かな間違い。 –

+1

ナー、そんなに愚かではない。 'of'ブロックが'自分自身 'が相対的なコンテキストを変更することは非常に簡単です。 –

関連する問題