首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来检查所有8个相邻的带有海龟的补丁?NetLogo

来检查所有8个相邻的带有海龟的补丁?NetLogo
EN

Stack Overflow用户
提问于 2015-07-13 14:53:56
回答 3查看 877关注 0票数 2

我需要检查是否所有邻近的补丁上都有海龟。我尝试的代码使用set primitive给出了"expected“的错误。

我的代码是

代码语言:javascript
复制
  if all? other (people-on neighbors) with [fear?]     [set unable-move? true ] 

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

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

EN

回答 3

Stack Overflow用户

发布于 2015-07-13 20:33:51

all?原语要求您提供:

用于测试条件的代理集(在您的示例中,是用于在每个代理(在您的示例中是相邻的补丁程序)上测试该条件的neighbors).

  • a
  • ):any? people-here with [ fear? ].

总而言之:

代码语言:javascript
复制
if all? neighbors [ any? people-here with [ fear? ] ] [
  set unable-move? true
]

非那样做不行!

票数 4
EN

Stack Overflow用户

发布于 2015-07-13 17:08:22

这也应该是可行的:

代码语言:javascript
复制
if (not any? neighbors with [count people-here with [fear?] = 0])
[ set unable-move? true ]
票数 1
EN

Stack Overflow用户

发布于 2015-07-13 16:28:32

类似于:

代码语言:javascript
复制
if sum [count people-here with [fear?]] of neighbors >= 8 [
                                      set unable-move? true
                                       ]

我希望它能起作用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31377080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档