用海龟检查所有8个相邻的斑块?的NetLogo

时间:2015-07-13 06:53:56

标签: netlogo

我需要检查所有相邻的补丁是否都有海龟。我试过的代码给出了错误#34;期待记者"使用set primitive。

我的代码是

Line Wrapping option

人是品种,恐惧是属性变量(人自己的变量)而无法移动?是一个全局变量。

在某些时候,如果包括中心补丁在内的所有8个补丁都有一个人(乌龟)并且处于恐惧状态,我想停止这个人(乌龟)。

3 个答案:

答案 0 :(得分:3)

all?原语要求你给出:

  • 您要为其测试条件的代理集(在您的情况下为neighbors)。
  • 一名记者,用于测试每个代理商的情况(在您的情况下,是相邻的补丁):any? people-here with [ fear? ]

所有在一起:

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

这就是它的全部内容!

答案 1 :(得分:1)

这也应该有效:

if (not any? neighbors with [count people-here with [fear?] = 0])
[ set unable-move? true ]

答案 2 :(得分:0)

类似的东西:

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

我希望它有效!