Netlogoでボックスバインドの世界があり、私の亀は私が望むやり方で動いていますが、壁にはまってしまいます。すべてのカメが壁に面して動かなくなるまで、バックボーンとしてのFlockingモデル)。私はGoにwall_jumpを含めようとしましたが、壁に向かって余りにも多くの群れがいたら、それは助けにならないので、別のブロックを壁に跳ね返るように呼び掛けますが、何の効果もないようです。問題全体を再現したい場合は、フロッキングモデルを開き、世界境界を閉じます。netlogoで世界の境界線から亀を跳ね返す方法を教えてください
他の人がこの問題をどのように解決しましたか?
to wall_jump
ifelse any? flockmates
[
if ycor >= max-pycor * 0.95 [set heading (random-normal 180 2)]
if xcor >= max-pxcor * 0.95 [set heading (random-normal 270 2)]
if xcor <= min-pxcor * 0.95 [set heading (random-normal 90 2)]
if ycor <= min-pycor * 0.95 [set heading (random-normal 0 2)]
]
[if ycor >= max-pycor * 0.95 [set heading (random-normal 180 2)]
if xcor >= max-pxcor * 0.95 [set heading (random-normal 270 2)]
if xcor <= min-pxcor * 0.95 [set heading (random-normal 90 2)]
if ycor <= min-pycor * 0.95 [set heading (random-normal 0 2)]
]
end
if文とelse文の違いは何ですか? – mattsap
flockmatesは私がこれをベースにしている "群れ"モデルからの持ち越しで、それはカメが所有しています。基本的に彼らは群れとして彼らの近くにいるカメを特定し、その群の平均的な見出しに基づいて新しい見出しを決定します。そのifelseの声明では、基本的に、あなたが近くの仲間を持っているかどうかを言うことでしたが、あなたが壁に突き当たっているので同じように新しい見出しを決定していました。しかし、うまくいきません。 – Jesse001