访问turtle-on patch-ahead内部变量

时间:2017-11-01 15:49:32

标签: netlogo

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

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之后的部分需要进行类似的更改。

希望有所帮助!