保存动作发生的时间然后做某事 Netlogo

Save the times an action has happend then do something Netlogo

我没有代码,因为我真的不知道该怎么做。我有一些棕色的斑块,随机地变绿一点,然后它们又变成棕色,它循环。我想知道有没有办法让乌龟知道那个补丁变绿了多少次。

提前致谢。

像您描述的变量通常称为计数器。在这种情况下,您可能希望它是一个 patches-own 变量,以便每个 patch 可以单独跟踪给定事件发生的次数。在下面的示例中,times-turned-green 从零开始(默认情况下,这是在 Netlogo 中声明的任何变量的值)并且 patches 都会更新自己的 'personal' times-turned-green他们改变颜色。

patches-own [ times-turned-green ]

to setup 
  ca
  ask patches [ set pcolor brown]
  reset-ticks
end

to example
  repeat 100 [
    ask patches [
      set pcolor brown
      if random-float 1 < 0.05 [
        set pcolor green
        set times-turned-green times-turned-green + 1
      ]
    ]  
  ]  
  ask n-of 5 patches [
    show times-turned-green    
  ]
end

命令中心的输出应类似于:

(patch -6 14): 2
(patch -9 4): 6
(patch 2 1): 8
(patch -3 3): 4
(patch -5 12): 5