Loops 如何在勾选后刷新修补程序变量?

Loops 如何在勾选后刷新修补程序变量?,loops,netlogo,Loops,Netlogo,我有一个补丁变量X,我想在每次打勾后计算它。我基本上有一个条件,在每个刻度上,我只想突出显示那些X值大于我设置的限制的面片 这就是我的代码: ask patches with [votes-with-benefit > 0] [ ifelse (b-c <= threshold) [ set votes-with-benefit 0 set pcolor red ] [ set votes-with-benefit votes set pcolor

我有一个补丁变量X,我想在每次打勾后计算它。我基本上有一个条件,在每个刻度上,我只想突出显示那些X值大于我设置的限制的面片

这就是我的代码:

ask patches with [votes-with-benefit > 0] [ ifelse (b-c <= threshold) 
     [ set votes-with-benefit 0 set pcolor red ]
     [ set votes-with-benefit votes
       set pcolor scale-color white vote-share 0 max-voteshare ]
   ]

使用[vows with benefit>0][ifelse(b-c听起来您需要切换过滤器和条件:

ask patches with [b-c <= threshold] [ ifelse  (votes-with-benefit > 0)
     [ set votes-with-benefit 0 set pcolor red ]
     [ set votes-with-benefit votes
       set pcolor scale-color white vote-share 0 max-voteshare ]
   ]
使用[b-c 0]询问修补程序
[将投票设置为利益0设置为P颜色红色]
[用福利票设置投票
设置P颜色比例颜色白色投票份额0最大投票份额]
]

在任何情况下,正如您现在所拥有的,您将永远不会重置那些您将福利设置为零的投票的人,因为您将他们过滤掉。

我找到了答案。很抱歉发了垃圾邮件。由于我使用两个不同的“ask PATCHS命令”一个接一个地编码了两个反参数,所以补丁变量在每个勾号后都没有更新。一旦我合并将它们合并到一个语句中,它开始工作。感谢

此代码从何处调用?其他修补程序是否在每次滴答声中变为红色?此代码在设置和启动阶段都会被调用。在时间0时,那些b-c值小于阈值的修补程序变为红色。b-c在每次滴答声中都会被测量。b-c是其他两个修补程序级别度量的总和。因此,在启动后,当滴答声开始,而b-c值随着每个滴答声的变化而变化,变为红色的初始补丁永远不会变回白色,即使它们的b-c值大于阈值。您认为问题出在哪里?您好,我已经解决了。很抱歉垃圾邮件。由于两个反参数,补丁变量在每次滴答声后都不会更新我使用两个不同的“askpatches命令”一个接一个地编码。一旦我将它们组合成一个语句,它就开始工作了。谢谢