我确信这是一个新手问题,但我仍然习惯了NetLogo所以请原谅我。
我正在使用我为品种创建的变量作为标志。如果所有品种的变量值都相同,我认为我的旗帜开启了,我采取了一定的行动。如何检查变量在NetLogo中对所有代理/品种的值是否相同?
例如:
breeds-own [ flagvariable ]
如何检查所有品种flagvariable = 1
?
谢谢。
答案 0 :(得分:1)
而不是让flagvariable
成为品种自己的变量,它应该是海龟自己的变量,因为它是所有海龟共有的。然后,您可以使用all?
检查所有海龟是否将其设置为特定值:
all? turtles [ flagvariable = 1]
或者,如果您不关心价值是什么,可以使用remove-duplicates
确保它们都具有相同的价值:
length remove-duplicates [ flagvariable ] of turtles = 1
在此,我们会计算当前有多少flagvariable
个不同的值。如果它恰好是1,那么我们就知道所有的海龟都有相同的价值。