我正在尝试在NetLogo世界中创建许多代理组。我希望每个小组都位于一个没有重叠的特定区域。我可以想到,实现这一目标的简单方法可能是将世界分为几个部分。每个部分都包含许多补丁(例如100 +随机10,我可以设置),并用独特的颜色着色。然后让新创建的海龟移动到不同颜色的补丁。 请问有人告诉我如何实现这一目标或给出任何建议吗?提前谢谢。
答案 0 :(得分:1)
一种策略是发展不同的地区。例如:
to grow-regions [ num-regions ]
let region-num 0
ask n-of num-regions patches [
set pcolor item region-num base-colors
set region-num region-num + 1
]
while [ any? patches with [ pcolor = black ] ] [
ask patches with [ pcolor != black ] [
ask neighbors with [ pcolor = black ] [ set pcolor [ pcolor ] of myself ]
]
]
end
请注意,这最多可以绘制14个不同的区域(因为这是基色的数量)。
这导致像这样的区域:
编辑:误读您的评论。显然,这并不能让您控制区域的大小,但平均大小为count patches / num-regions
。