Netlogo 如何检查属于修补程序的变量的值

Netlogo 如何检查属于修补程序的变量的值,netlogo,Netlogo,我正在创建一个netlogo程序,其中补丁程序拥有两个变量,一个是“cheiro”,另一个是“tempo” 海龟们在补丁周围走动,在移动之前,他们会手动检查每个补丁是否有cheiro=1。这是我的代码,它给了我一个错误 ask patch-ahead 1[ if cheiro = 0 [set m1 patch-ahead 1] ] ] 给出的错误是“您不能在修补程序上下文中使用修补程序先行,因为修补程序先行仅适用于海龟” 我也试过了 如果使用[chei

我正在创建一个netlogo程序,其中补丁程序拥有两个变量,一个是“cheiro”,另一个是“tempo”

海龟们在补丁周围走动,在移动之前,他们会手动检查每个补丁是否有cheiro=1。这是我的代码,它给了我一个错误

    ask patch-ahead 1[
        if cheiro = 0 [set m1 patch-ahead 1]
        ]
]
给出的错误是“您不能在修补程序上下文中使用修补程序先行,因为修补程序先行仅适用于海龟”

我也试过了

如果使用[cheiro=0]提前补片1][设置m1提前补片1]


但给出的错误是“预期此输入为代理集,但得到了一个数字”。“

当你说
提前询问补丁…
时,你要求补丁做一些事情,而不是海龟。显然,询问前面的补丁是否有价值是没有意义的,因为补丁不会移动,因此没有参考方向。您可能需要以下内容:

if ([cheiro] of patch-ahead 1) = 0 [...]

我已经包含了方括号,这样您就可以看到代码在做什么,但它们不是运行代码所必需的。这将查看下一个补丁(从海龟询问的角度),并检查变量“cheiro”的值。如果该值为0,则运行[]中的代码。

当您说
提前询问修补程序…
时,您要求修补程序执行某些操作,而不是海龟。显然,询问前面的补丁是否有价值是没有意义的,因为补丁不会移动,因此没有参考方向。您可能需要以下内容:

if ([cheiro] of patch-ahead 1) = 0 [...]

我已经包含了方括号,这样您就可以看到代码在做什么,但它们不是运行代码所必需的。这将查看下一个补丁(从海龟询问的角度),并检查变量“cheiro”的值。如果该值为0,则运行[]中的代码。

谢谢!我只是回来说我设法解决了它!我喜欢
如果[cheiro=0]提前补丁1[设置m1提前补丁1]
谢谢!我只是回来说我设法解决了它!我做得很像
if[cheiro=0]的提前补丁1[设置m1提前补丁1]