Netlogo 要检查所有8个相邻的有海龟的补丁吗?网络标志

Netlogo 要检查所有8个相邻的有海龟的补丁吗?网络标志,netlogo,Netlogo,我需要检查一下附近的地方是否都有海龟。我尝试的代码给出了带有set原语的错误“expected reporter” 我的代码是 if all? other (people-on neighbors) with [fear?] [set unable-move? true ] 人是品种,恐惧是一个属性变量(人自己的变量)和无法移动?是一个全局变量 在某个时刻,我想阻止这个人(乌龟),如果所有的8块补丁,包括中间的补丁都有一个人(乌龟)在上面,并且处于恐惧之中 类似于: if sum

我需要检查一下附近的地方是否都有海龟。我尝试的代码给出了带有set原语的错误“expected reporter”

我的代码是

  if all? other (people-on neighbors) with [fear?]     [set unable-move? true ] 
人是品种,恐惧是一个属性变量(人自己的变量)和无法移动?是一个全局变量

在某个时刻,我想阻止这个人(乌龟),如果所有的8块补丁,包括中间的补丁都有一个人(乌龟)在上面,并且处于恐惧之中

类似于:

if sum [count people-here with [fear?]] of neighbors >= 8 [
                                      set unable-move? true
                                       ]

我希望它能起作用

这也应该有效:

if (not any? neighbors with [count people-here with [fear?] = 0])
[ set unable-move? true ]
原语要求您提供:

  • 要为其测试条件的agentset(在本例中为)
  • 在每个代理(在您的情况下是相邻的补丁)上测试该条件的报告程序:
    有吗?这里的人[恐惧?]
总而言之:

if all? neighbors [ any? people-here with [ fear? ] ] [
  set unable-move? true
]

就这些

如果你给出一个可以测试的短代码,那就容易多了!谢谢,但实际上我的意思是尼古拉斯爵士回答的。谢谢,但我想检查一下所有的邻居。