I have the code:
if [pcolor] of patch-here = grey and [pcolor] n-of 2 neighbors4 = grey [set X X + 1 set agentset-number = N]
这似乎不会产生任何错误,我很好奇这段代码中的错误以及如何纠正错误。
答案 0 :(得分:3)
代码中的问题是这个表达式(你必须更改它,因为它不能编译):
[pcolor] n-of 2 neighbors4 = grey
n-of 2 neighbors4
返回一个代理集,该代理集由两个随机选择的四个邻居的补丁组成。要获取其颜色列表,您需要使用of
,因此请将其更改为:
[pcolor] of n-of 2 neighbors4 = grey
然而,该agentset的[pcolor]返回一个颜色列表;一个用于两个随机选择的邻居中的每一个。所以这里是你将颜色列表与颜色(实际上只是一个数字)进行比较。这将始终返回false
。
您可能需要以下内容:
count neighbors4 with [pcolor = grey] = 2