更改一定距离内的色块颜色 Netlogo
我想改变一些补丁的颜色。
if mujeres [ ask n-of 20 patches with [pcolor = 35] [set pcolor 9]]
然而,有时两个相邻的色块会变成颜色 9,我不希望这样。我认为半径内不是最佳的,因为在此之前没有颜色为 9 的色块。
确保斑块变成白色但它们保持分开的最佳方法是什么?谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果我理解正确的话,您想要将一些色块变成灰色,但在配置中不存在相邻的灰色色块。如果是这种情况,一种方法是使用
while
循环来搜索可能改变颜色的色块,直到达到所需的灰色色块数量 - 这将确保没有相邻的灰色色块因为每次运行 while 循环时,只有“允许”更改颜色的补丁才会这样做。例如:应该类似于:
请注意
while
循环 - 如果从未满足“中断”或完成循环的条件,则循环将无限期地运行。If I'm understanding correctly, you want to turn some patches grey, but in a configuration such that there are no adjacent grey patches. If that's the case, one way to do this is to use a
while
loop to search for potential patches to change color until your number of desired grey patches is reached- this will ensure that there are no adjacent grey patches since each time the while loop runs, only a patch that is 'allowed' to changed color will do so. For example:Should look something like:
Do be careful with
while
loops- if the condition is never met to 'break' or complete the loop, the loop will run indefinitely.