如何使疏散时间持续计算,直到所有特工在netlogo中离开大楼
实际上,我想做的是,如果警报按钮是假的,海龟只会在环境中游荡,然后当紧急警报打开时,海龟会离开大楼,疏散时间将开始增加,直到最后一名特工离开。我想我不能在go程序中写“设置疏散时间疏散时间+1”,因为这将使疏散时间开始计数,即使紧急警报关闭。谢谢。有人能给我一个解决这个问题的办法吗如何使疏散时间持续计算,直到所有特工在netlogo中离开大楼,netlogo,Netlogo,实际上,我想做的是,如果警报按钮是假的,海龟只会在环境中游荡,然后当紧急警报打开时,海龟会离开大楼,疏散时间将开始增加,直到最后一名特工离开。我想我不能在go程序中写“设置疏散时间疏散时间+1”,因为这将使疏散时间开始计数,即使紧急警报关闭。谢谢。有人能给我一个解决这个问题的办法吗 globals [ time-to-evacuate flag-active-alarm ] to go ask turtles [wander] if (flag-active-alarm )[active-al
globals
[
time-to-evacuate
flag-active-alarm
]
to go
ask turtles [wander]
if (flag-active-alarm )[active-alarm]
tick
end
to wander
[....]
end
to active-alarm
set flag-active-alarm true
set time-to-evacuate 0
set time-to-evacuate time-to-evacuate + 1
ask turtles [move]
if all? turtles [ pcolor = red ] ;stops simuation
[ stop ]
end
to move
avoid-obstacles1
end
在代码的其他地方,添加以下内容:
set time-to-evacuate time-to-evacuate + 1
无论你想在哪里,定时器都会递增。典型的位置是在您的go
程序中:
to go
...
set time-to-evacuate time-to-evacuate + 1
...
tick
end
现在我明白了Seth所说的,不需要在代码中插入撤离0的设定时间,只要这样做就可以了。非常感谢
to active-alarm
set flag-active-alarm true
set time-to-evacuate time-to-evacuate + 1
ask turtles [move]
if all? turtles [ pcolor = red ] ;stops simuation
[ stop ]
end