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

时间:2019-05-26 15:16:10

标签: netlogo agent-based-modeling

如果一个(不同代理集的)代理具有特定的形状,我正在尝试使一个代理集做一些事情。

在这里,如果形状特殊

  • 幽灵(例如幽灵1)是圆形,

  • 然后所有兔子都应该向前移动1。(<-这是 预期的行为)

其中

  • 鬼魂agentset A
  • 兔子agentset B

我已经尝试过以下方法:

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

对于此代码,我得到

  

“在这里预期了一个结束语。”

在鬼影上使用荧光笔。 我知道这段代码是错误的,但我想不出应该如何编写此代码以获得理想的结果。

1 个答案:

答案 0 :(得分:1)

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

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

但是您也会遇到订购错误,每只兔子都会检查chost 1的形状。我认为您真正想要的是:

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