要求一些补丁做一些事情而不使用`ask patches`

时间:2016-11-06 15:38:29

标签: netlogo

我正在尝试更改区域内多个色块的颜色(由滑块控制的数字)。 if语句检查坐标在ask patches命令内。当我对变量说set pcolor时,它的效果非常好。但是,当我在if语句中添加另一个ask patches来请求可变数量的补丁来设置它们的颜色时,我得到一个错误,只有观察者可以要求补丁做任何事情。我的研究没有告诉我如何在没有ask patches的情况下让一定数量的补丁改变颜色。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

几乎总是,要求每个补丁要求每个补丁做某事是一个逻辑错误。这就是它引发错误的原因。如果要询问满足条件的所有补丁(如更改颜色),可以使用with过滤补丁。 https://ccl.northwestern.edu/netlogo/docs/dictionary.html#with