在一定数量的滴答后,我如何开始在 Netlogo 中显示我的设置?
How can I start displaying my setup in Netlogo after a certain number of ticks?
我有一个模拟,我想在 20 个滴答后开始显示,而程序 运行 在之前的滴答中但没有显示。
谢谢
这是可能的,您只需使用 the no-display
primitive 并将模型视图更新设置为 on ticks
而不是 continuous
。
下面是一个示例,其中一些海龟会在 20 个刻度内向前移动,然后在它们的动作变得可见时原地旋转。设置一个普通的 setup
按钮和 go
永久按钮,然后当您点击 go
时,您将不会看到海龟移动 forward
。移动它们后,我使用 the display
primitive 让其余操作正常显示。
to setup
clear-all
create-turtles 100
reset-ticks
end
to go
ifelse ticks < 20 [
no-display
ask turtles [ fd 0.2 ]
] [
display
]
ask turtles [ lt (10 - random 20) ]
tick
end
旁注是该技术在 NetLogo Web 中不起作用,因为 display
和 no-display
原语还不能在那里工作。如果您需要以这种方式在 NLW 中 运行,另一种方法是使用 repeat
。这是不是我通常建议构建模型的方式,但在这种情况下它可以完成工作:
to go-repeat
ifelse ticks = 0 [
no-display
repeat 20 [
ask turtles [ fd 0.2 ]
tick
]
] [
display
ask turtles [ lt (10 - random 20) ]
tick
]
end
我有一个模拟,我想在 20 个滴答后开始显示,而程序 运行 在之前的滴答中但没有显示。 谢谢
这是可能的,您只需使用 the no-display
primitive 并将模型视图更新设置为 on ticks
而不是 continuous
。
下面是一个示例,其中一些海龟会在 20 个刻度内向前移动,然后在它们的动作变得可见时原地旋转。设置一个普通的 setup
按钮和 go
永久按钮,然后当您点击 go
时,您将不会看到海龟移动 forward
。移动它们后,我使用 the display
primitive 让其余操作正常显示。
to setup
clear-all
create-turtles 100
reset-ticks
end
to go
ifelse ticks < 20 [
no-display
ask turtles [ fd 0.2 ]
] [
display
]
ask turtles [ lt (10 - random 20) ]
tick
end
旁注是该技术在 NetLogo Web 中不起作用,因为 display
和 no-display
原语还不能在那里工作。如果您需要以这种方式在 NLW 中 运行,另一种方法是使用 repeat
。这是不是我通常建议构建模型的方式,但在这种情况下它可以完成工作:
to go-repeat
ifelse ticks = 0 [
no-display
repeat 20 [
ask turtles [ fd 0.2 ]
tick
]
] [
display
ask turtles [ lt (10 - random 20) ]
tick
]
end