【发布时间】:2021-06-15 05:47:09
【问题描述】:
我正在尝试对补丁进行建模(代表环境)。当它的资源耗尽时,它们会以一个滴答的延迟(滴答+ 1)重新生成。我该怎么做?
这个想法是这样的:
if resources-amount = 0
(tick + 1) ask patches [set resources-amount (resource-amount + 1 )]
【问题讨论】:
我正在尝试对补丁进行建模(代表环境)。当它的资源耗尽时,它们会以一个滴答的延迟(滴答+ 1)重新生成。我该怎么做?
这个想法是这样的:
if resources-amount = 0
(tick + 1) ask patches [set resources-amount (resource-amount + 1 )]
【问题讨论】:
您可以添加一个补丁程序自己的变量regrow-time。它将自动初始化为 0。如果补丁丢失了所有资源(在此滴答期间),您可以将 regrow-time 设置为您想要的滴答数,例如4 个滴答声后:
ask patches
[
loose-resource
if resources-amount = 0 and regrow-time = 0
[
set regrow-time ticks + 4
]
]
然后你可以询问regrow-time来的补丁,让他们获得资源,并将定时器重置为0,这样程序最终可以重新开始。
ask patches with [regrow-time = ticks]
[
gain-resource
set regrow-time 0
]
【讨论】: