根据代理的属性编写 if 语句以命令不同代理集的代理

Writing an if statement depending on an attribute of an agent to command agents of a different agentset

如果(不同代理集的)代理具有特定形状,我正在尝试让代理集做某事。

在这里,如果一个特定的形状

其中

我试过这些方法:

ask rabbits
[
 if (shape ghost 1 = "circle")
  [
   forward 1
  ]
]

对于我得到的这段代码,

"Expected a closing paranthesis here."

在幽灵上用荧光笔。 我知道这段代码是错误的,但我想不出应该如何编写才能获得所需的结果。

这将(我认为 - 无法测试)得到正确的语法:

ask rabbits
[
 if ([shape] of ghost 1 = "circle")
  [
   forward 1
  ]
]

但是你也有一个排序错误,会让每只兔子检查主机 1 的形状。我认为你真正想要的是:

if ([shape] of ghost 1 = "circle")
[ ask rabbits
  [ forward 1
  ]
]