ifelse any? turtles-on patch-ahead 1 with isgeneral = 1 or any? turtles-on patch-right-and-ahead 90 1 with isgeneral = 1
[
fd -2
set energy energy -2
]
[
fight
]
这是我想要做但却无法做到的想法,它给了我
WITH期望此输入为代理集,但是得到一个数字
并突出显示1'提前补丁1'。
isgeneral是一个海龟自己的变量我将如何做到这一点?
如果不清楚我想检查前面或右边是否有一只乌龟,如果那只乌龟是“一般”的话。变量设置为1
答案 0 :(得分:3)
一些事情。它的解析:
any? turtles-on patch-ahead 1 with isgeneral = 1
作为
any? turtles-on patch-ahead (1 with isgeneral = 1)
您需要添加括号以使其对海龟有with
行为。接下来,isgeneral = 1
是你正在检查乌龟的东西(正如你所指出的那样)。在技术术语中,with
采用报告块,然后将其传递给代理集中的代理进行评估。块被[]
包围。所以更正的代码是:
any? (turtles-on patch-ahead 1) with [ isgeneral = 1 ]
or
之后的部分需要进行类似的更改。
希望有所帮助!