netlogo实现turtles的移动

刚开始也是很懵,初始化了小海龟,还定义了好多种类的生物

然后就是没有办法让他们动起来

国内研究这个东西的也很少,并没有太多教程,大多人看的还是英文的官方手册

我在这里将自己看的地方翻译了一下

移动的话可以用move-to这个是让你直接移动到你定义的位置

move-to4.0

move-to agent

龟将其 X ý 坐标设置为与给定代理的相同

(如果该代理是一个补丁,效果是将龟移动到该补丁的中心。)

移动到乌龟5

;; 乌龟移动到与乌龟5相同的点

移到一个补丁

;; turtle moves to the center of a random patch

move-to max-one-of turtles [size]

;; turtle moves to same point as biggest turtle

请注意,乌龟的标题没有改变。您可能首先使用face命令将乌龟定位在运动方向。

See also setxy.


还有一个就是setxy 

setxy x y

龟将其x坐标设置为x,将其y坐标设置为y。相当于set xcor x set ycor y,除了它发生在一个时间步骤而不是两个。如果xy在世界之外,NetLogo将抛出一个运行时错误,除非在相关维度中打开包装。例如,包装在两个维度开启和默认世界大小,其中min-pxcor = -16 max-pxcor = 16min-pycor = -16max-pycor = 16,问一个龟setxy 17 17将其移动到贴片的中心(-16-16

setxy 0 0

;; turtle moves to the middle of the center patch

;; 乌龟移动到中央补丁的中间

setxy random-xcor random-ycor

;; turtle moves to a random point

;; 乌龟移动到一个随机点

setxy random-pxcor random-pycor

;; turtle moves to the center of a random patch

;; 乌龟移动到随机补丁的中心

另请参见  移至





facexy也可用于移动

facexy 3.0

facexy  x y乌龟命令

将呼叫者的标题设置为点(x,y)。

如果拓扑允许包装,并且包装的距离(在世界的边缘附近)更短并且允许包装,则facexy将使用包装的路径。

如果调用者在点(x,y)上,则调用者的标题不会改变。


也可以用fd后面加上步数例如ask turtles [fd 5]

猜你喜欢

转载自blog.csdn.net/sdwujk160507140150/article/details/80557983