根据代理的属性编写 if 语句以命令不同代理集的代理
Writing an if statement depending on an attribute of an agent to command agents of a different agentset
如果(不同代理集的)代理具有特定形状,我正在尝试让代理集做某事。
在这里,如果一个特定的形状
ghost(比如说Ghost 1)是圆圈,
那么所有的兔子都应该向前移动 1. (<-这是
预期行为)
其中
- 幽灵是
agentset A
- 兔子是
agentset B
我试过这些方法:
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
]
]
如果(不同代理集的)代理具有特定形状,我正在尝试让代理集做某事。
在这里,如果一个特定的形状
ghost(比如说Ghost 1)是圆圈,
那么所有的兔子都应该向前移动 1. (<-这是 预期行为)
其中
- 幽灵是
agentset A
- 兔子是
agentset B
我试过这些方法:
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
]
]