我希望我的海龟朝着距离自己最近的特定 pcolor 斑块的方向移动。
目前我的移动代码是:
;FLY MOVEMENT
to move-flies
ask flies
[right random 360
forward 1]
Run Code Online (Sandbox Code Playgroud)
正如你所知,这只会产生随机运动。我希望运动方向是最近的 pcolor 棕色斑块。理想情况下,我希望苍蝇到达那里时停在补丁上,但这不是目前的主要问题,只是让它们直接飞向最近的棕色补丁。
问候。
face您需要、min-one-of和的组合distance。这是一个小示例程序:
to setup
ca
ask n-of 10 patches [ set pcolor brown ]
ask n-of 10 patches [ sprout 1 ]
reset-ticks
end
to go
ask turtles [
face min-one-of patches with [ pcolor = brown ] [ distance myself ]
forward 1
]
tick
end
Run Code Online (Sandbox Code Playgroud)
(当然,在现实生活中,您可能希望将该face语句从go循环中删除,并且当您的代理到达目的地时,您可能需要某种停止条件。)