本文介绍了NetLOGO:补丁立即消失,而不是连续消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图展示砍伐森林与重新造林的对比。为了做到这一点,我制作了一个滑块来显示正在进行的植树造林和砍伐森林的工作。然而,每次11点整,整个场景都被破坏了,我不知道为什么。
patches-own
[reforestar
deforestar]
breed [ potreros potrero ] ; sheep is its own plural, so we use "a-sheep" as the singular
breed [ bordes borde ]
breed [ bosques bosque ]
to setup
clear-all
set-default-shape turtles "frog top"
ask patches
[ifelse pcolor = 44
[ set reforestar tiempo-sin-reforestar ]
[ set reforestar tiempo-sin-reforestar * 0.5];
]
reset-ticks
end
to go
ask patches [ reforestacion ]
ask patches [ deforestacion ]
tick
end
to reforestacion ; patch procedure
; countdown on brown patches: if you reach 0, grow some grass
if pcolor = 35 [
ifelse reforestar <= 0
[ set pcolor 44
set reforestar tiempo-sin-reforestar ]
[ set reforestar reforestar - 1 ]
]
end
to deforestacion
if pcolor = 44 [
ifelse deforestar >= 10
[ set pcolor 35
set deforestar tasa-deforestacion ]
[ set deforestar deforestar + 1 ]
]
end
其想法是,一些随机的棕色斑块(去堆积)变成黄色(堆积),但由于某种原因,它只是一下子改变了一切。
推荐答案
您并不是要求随机数量的补丁程序来执行某项操作,而是要求具有pCOLOR 44的所有补丁程序每刻度数到10,当它们达到10时,它们就会被毁掉。
如果您想要求随机数量的补丁进行森林砍伐,请尝试类似
的操作ask n-of (random ([count patches with pcolor = 44] * deforestationRate)) patches with pcolor = 44 [set pcolor 35 set deforestar tasa-deforestacion]
其中deForestRate是一个介于0到1之间的滑块的值。这将执行的操作是计算可以砍伐的斑块的数量,然后从这些斑块中随机选择要砍伐的斑块。如果只使用计数本身,那么森林中介于0%到100%之间的每一个刻度都将被毁林,但如果添加deForestRate滑块值,它可能是您想要的任何最大百分比。(例如,如果您将其设置为0.1,则每个刻度只能砍伐多达10%的森林)您也可以对重新造林执行相同的操作,并使用不同的滑块/值作为比率。(注意:我有一段时间没有使用NetLogo了,所以代码和圆括号可能不是100%正确的,但您明白了)
这篇关于NetLOGO:补丁立即消失,而不是连续消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!