如何在勾选后刷新补丁变量?

时间:2016-02-04 21:33:32

标签: 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 scale-color white vote-share 0 max-voteshare ]
   ]

问题是在第一次打勾之后,即使有值大于阈值的补丁,它们仍然显示为红色而不是恢复为白色。

谢谢你。感谢帮助。

此致

2 个答案:

答案 0 :(得分:0)

听起来你需要切换过滤器和条件:

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 ]
   ]

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

答案 1 :(得分:0)

我明白了。抱歉发送垃圾邮件。由于两个计数器参数我使用两个不同的“问题补丁”命令一个接一个地编码,因此补丁变量在每次滴答后都没有更新。一旦我将它们合并成一个声明,它就开始工作了。感谢