实际上我正在尝试做的是如果警报按钮是假的,乌龟只会在环境中徘徊,然后当紧急警报开启时,乌龟将离开建筑物并且撤离时间将开始增加直到最后一次代理人离开。我想我不能在go程序中写下“设定撤离时间+撤离时间+ 1”,因为即使紧急警报关闭,这也会使撤离时间开始计算。谢谢。谁能让我知道如何解决这个问题。
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
答案 0 :(得分:0)
代码中的其他位置,添加:
set time-to-evacuate time-to-evacuate + 1
您希望计时器增加的位置。典型的地方是go
程序:
to go
...
set time-to-evacuate time-to-evacuate + 1
...
tick
end
答案 1 :(得分:0)
现在我明白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