当我指示海龟将其标题设置为具有特定pcolor的补丁时,为什么会出现此运行时错误?

时间:2015-03-04 12:25:41

标签: netlogo

我想让乌龟设置他们朝向其中一个补丁,其中pcolor =灰色,在1 270的圆锥体中,当它们在pcolor = 6的补丁上时。我的代码如下:

   ask turtles[if [pcolor] of patch-here = 6 [ set heading towards one-of neighbors4 in-cone 1 270 with [pcolor] = grey

然而我收到错误: 将预期的投入作为代理人,但却得到了NOBODY。

应该对代码做些什么来防止此错误?任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

如果您获得nobody,则表示并不总是符合您设置的条件。

在这种情况下,你需要决定你想做什么。假设你决定乌龟应该什么也不做。然后新代码是:

ask turtles [
  if pcolor = 6 [
    let target one-of ...
    if is-patch? target [
      face target
    ]
  ]
]

请注意,of patch-here始终是多余的。乌龟总是可以直接访问它所站的补丁的补丁变量。

还请注意face的使用,它比set heading towards更简洁。