海龟沿着 pcolor = x 的斑块方向移动

use*_*895 3 netlogo

我希望我的海龟朝着距离自己最近的特定 pcolor 斑块的方向移动。

目前我的移动代码是:

;FLY MOVEMENT

to move-flies

  ask flies

  [right random 360

   forward 1]
Run Code Online (Sandbox Code Playgroud)

正如你所知,这只会产生随机运动。我希望运动方向是最近的 pcolor 棕色斑块。理想情况下,我希望苍蝇到达那里时停在补丁上,但这不是目前的主要问题,只是让它们直接飞向最近的棕色补丁。

问候。

Nic*_*tte 5

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循环中删除,并且当您的代理到达目的地时,您可能需要某种停止条件。)