Netlogo:当代理通过补丁时,变量不能正确添加+1

时间:2017-06-02 17:54:33

标签: netlogo

我有一个变量,我想在每次乌龟穿过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

0 个答案:

没有答案