我有一个变量,我想在每次乌龟穿过xagents的红色补丁时添加1;对于yagents,这也会发生,但依赖于对于var2至少为1的xagents。由于某种原因,变量var2返回的数字是海龟数量的倍数(两个品种:xagents和yagents)。例如,如果我有50个xagents和50个yagents,则当xagents和yagents遇到红色补丁时,var2从0开始,然后是100,然后是200,依此类推。如果我将海龟的数量改为30个xagents和30个yagents,那么每次计数增加60。设置启动后,var2会为两个代理报告0(如预期的那样)。该过程似乎工作正常,但有这个计数问题。 Var2仅出现在此过程中,并作为变量出现在:
中turtles-own [var1 var2]
我只希望每次满足两个if语句时变量增加1。有什么想法可能会发生这个计数问题?
to count
ask xagents
[
if pcolor = red and var1 >= 4
[
set var2 var2 + 1
]
]
ask yagents
[
if pcolor = red and any? link-neighbors with [var2 > 1]
[
set var2 var2 + 1
]
]
end