赤色のパッチは避けてください。しかし、私は、カメに "fd 1 + random-float 2.0"を動かすように求められた場合、前方に赤いパッチがあり、時には(ほとんどの場合でも)順番。また、私が "fd 1"や "fd 0.1 + random-float 0.9"を動かすようにカメに頼むと、コードはうまく動作します。 うまくいけば、私がカメに1歩進んでくれるように頼んでいるパッチの数が、うまくいけばいいと思う。移動 "fd 0.1 + random-float 0.9"の次のパッチは何でしょうか。これをパッチ先読み1でどのように動作させることができますか?私のコードとインターフェースが追加されました。パッチ・アヘッド1では特定の色のパッチを避けるためにカエルに質問する方法はありますが、NetLogoのワンステップで大きなカメ(fd 1ではなく)で前方へ移動します
to setup
clear-all
ask patches [set pcolor green ]
ask patches with [pycor = 3] [set pcolor red]
create-turtles 40
[
set color blue
set xcor random-pxcor
set ycor random-pycor
set heading random 360
set size 1
set speed 1 + random-float 2.0
]
end
to go
ask turtles [
fd speed
avoid-walls
]
end
to avoid-walls
if [pcolor] of patch-ahead 1 = red [set heading heading - 180]
end
あなただけ先に1つの単位を探しているが、潜在的に3.0ユニットを移動することができます。あなたの赤い帯は、カメが作れる最大の移動よりも広い必要があります。あるいは、固定小数点だけでなく、前方の範囲を確認する必要があります。 –
ありがとう@MarcB、私はポイントを得た。 –