我试图在网格中随机移除例如20%,50%,80%......的块边。我的想法是:
使用“Patch Clusters示例”为每个路段分配标签
然后使用How to randomly remove block side in a grid?中的解决方案,如下所示:
to remove-random-roads
let deleted-road-percent 25
let road-section-number length remove 0 remove-duplicates ([cluster] of patches)
let repetition-number (deleted-road-percent * road-section-number) / 100
repeat repetition-number [
let random-patch one-of patches with [pcolor = white]
let side grow-cluster no-patches random-patch
ask side [ set pcolor brown] ]
end
不幸的是,代码不起作用,因为它删除了所有道路而不是移除景观中25%的道路。我不明白为什么会这样做?
提前感谢您的帮助。
答案 0 :(得分:0)
有两种可能的解释:
所以你需要采取的下一步是找出它们中的哪一个。
在let repetition-number ...
之后,添加:
print repetition-number
打印的值是否正确?如果不是,请追求路径#1。如果是,请追求路径#2。 (如果仍然卡住,请回到这里告诉我们您需要帮助的路径。)