Netlogo 如何检查修补程序在特定时间内是否保持状态?

Netlogo 如何检查修补程序在特定时间内是否保持状态?,netlogo,Netlogo,基于“羊吃草”模式。这些补丁会随着代理的移动而改变颜色。我想检查一个补丁是否保持了一段时间的中心色(例如5个记号)。如果一个补丁在百分之一的颜色中停留了百分之一的时间而没有任何变化,它将变成黑色 我试着用倒计时,但没用。我需要一个累积状态。非常感谢 If pcolor=green[ Ifelse countup>=5[ Set pcolor black Set countup 0] [set countup countup+1]] 你能再详细说明一下你所展示的代码出了什么问题吗?例如,使

基于“羊吃草”模式。这些补丁会随着代理的移动而改变颜色。我想检查一个补丁是否保持了一段时间的中心色(例如5个记号)。如果一个补丁在百分之一的颜色中停留了百分之一的时间而没有任何变化,它将变成黑色

我试着用倒计时,但没用。我需要一个累积状态。非常感谢

If pcolor=green[
Ifelse countup>=5[
Set pcolor black
Set countup 0]
[set countup countup+1]]

你能再详细说明一下你所展示的代码出了什么问题吗?例如,使用此设置:

patches-own [ time-spent-green ]

to setup
  ca
  crt 3 
  reset-ticks
end
与你的例子非常相似的东西对我来说很好:

to go 
  ask turtles [
    rt random 61 - 30 
    fd 1
    ask patch-here [
      set pcolor green
    ]
  ]

  ask patches with [ pcolor = green ] [
    ifelse time-spent-green >= 5 [
      set pcolor black
      set time-spent-green 0
    ] [
      set time-spent-green time-spent-green + 1
    ]
  ]
  tick
end

补丁保持绿色5个刻度,然后变回黑色。

你能分享你已经尝试过的吗?嘿!我添加我的代码。抱歉弄得一团糟。问题是如何跟踪一个补丁,看看它是否在一个百年的时间内保持一个状态-继续!谢谢你的帮助。问题是,这些贴片总是随机改变颜色。我想做的是判断一个补丁是否连续5次保持绿色。在5个刻度内,如果它变为其他颜色,它不会变为黑色。@Yanxin-仅为绿色,或者任何连续5个刻度的颜色?