【发布时间】:2015-10-14 14:17:32
【问题描述】:
我对 netlogo 很陌生,所以这可能是一个非常基本的问题,但我被困住了。我想使用 while 循环(因此命令在整个运行过程中不断出现)和补丁颜色来指示海龟将如何移动。
如果海龟不在红斑上,我希望它继续向最近的红斑移动。
如果它在红色补丁上,我希望它留在补丁上
while [pcolor] of patch-here != red
[
face min-one-of patches with [pcolor = red ] [ distance myself ]
forward 1
]
while [pcolor] of patch-here = red
[
stop
]
当我运行这个时,我收到一个错误('[pcolor] of patch-here != red' 突出显示)说“虽然预期这个输入是一个 TRUE/False 块,但得到了一个 TRUE/FALSE 。”
谁能帮帮我?
【问题讨论】:
-
您可能还会有一些概念上的混淆。您声明您正在使用 while 循环“因此命令在整个运行过程中不断出现”。 while 循环意味着 NetLogo 将运行这组命令,直到海龟到达红色补丁为止。如果你有多只海龟,并且你在一只问海龟里面有这个……那么一只海龟会一直移动到一个红色的补丁,然后是下一个。在 NetLogo 中更典型的是使用滴答计数器并让每只海龟在每个滴答时移动一次,因此它们都在同时移动。如果同步是您想要的,请说出来,我们会回答。
-
@JenB 我确实有多只海龟,这是在一只问海龟里面,我正在尝试像你说的那样完成同步运动!
标签: wait patch netlogo turtle-graphics continue