1

我有一只海龟,其视锥被定义为 5, 120。现在,我希望海龟将最近的海龟与它的朋友颜色相同。我的代码返回错误

this code can't be run by a patch

这是我的代码

turtles-own [ friend ] 

to-report checkForAttraction [ agent ]
  if [color] of one-of turtles-on empty-patches = [color] of agent [
    set friend min-one-of other turtles-on empty-patches with [color = [color] of agent ] [ distance myself ]
    set attracted? 1
  ]
  report actualVelocity
end

错误显示在

[color = [color] of agent ]

在第三行。这里有什么问题?

4

1 回答 1

1

有问题的行的问题是with被解析的有empty-patches作为它的代理集参数。而且由于补丁没有color变量,因此您无法测试empty-patchescolor = [color] of agent因此会出现错误。

但是您不想为此进行测试empty-patches:您想测试turtles-on empty-patches

加上一些放置良好的括号,您可以:

set friend min-one-of other (turtles-on empty-patches) with [color = [color] of agent ] [ distance myself ]
于 2014-03-25T19:54:32.160 回答