【问题标题】:How do I set up patches randomly in netlogo, BUT not have them touch each other?如何在 netlogo 中随机设置补丁,但不让它们相互接触?
【发布时间】:2018-07-11 01:55:35
【问题描述】:
我正在尝试设置我的补丁,以便它们不会相互接触,而是随机放置。
现在使用下面的代码,他们设置了我想要的比例颜色,但不是随机放置的:
to setup-patches
ask n-of number-of-patches patches
[ ifelse neighbors4 = green
[ set pcolor black ]
[ set quality (random 10)
set pcolor scale-color green quality 0 10] ]
关于如何做到这一点的任何帮助?
【问题讨论】:
标签:
installation
netlogo
patch
【解决方案1】:
我认为您需要使用any? 和shade-of? 原语,让每个补丁检查是否有任何邻居不仅具有绿色,而且具有任何绿色阴影。另请注意,如果您使用random 10 设置质量,则补丁的质量将在0 到9 之间,因为NetLogo 的random 不包括在内。因此,您可能希望稍微不同地缩放您的质量以进行可视化(如下例所示)。
patches-own [ quality ]
to setup
ca
ask n-of 400 patches [
ifelse any? neighbors4 with [ shade-of? pcolor green ] [
set pcolor black
] [
set quality 2 + random 7
set pcolor scale-color green quality 0 10]
]
reset-ticks
end
给你类似的东西: