使用 Netlogo "Go" 过程的转换抑制

Transition inhibition with Netlogo "Go" procedure

我有两个程序(Levy Walk 和 Correlated Random Walk 运动策略,每个都有自己的调试按钮,以及在 netlogo 界面上的自己的参数集),但我也嵌入了上述两个程序在单个 "Go" 程序中进行批量模拟处理,代码实现如下:

    to setup
     clear-all
     create-turtles 100 [ setxy random-xcor random-ycor ]
     reset-ticks
    end  

    to Correlated-Random-Walk
       rt random 360
       fd 1
    end

    to Levy-Walk
       rt random 90
       fd 2
    end

     to go
      Correlated-Random-Walk
      tick
      if ticks = 1000 [
       setup
       stop
       Levy-Walk
       if ticks = 1000 [
       setup  
       stop
       ]
      ]
    end

"Go" 程序代码的上述部分应该采用相关的随机游走程序并在模拟的整个持续时间(1000 个刻度)内执行它,然后停止,重置(设置)世界并在整个模拟期间(也是 100 个刻度)执行 levy walk 程序,然后停止。就像现在一样,代码针对相关的随机游走执行,但不会继续执行 levy 游走过程。它只是重复相关随机游走过程。可能是什么问题?

您的 stop 命令将停止 go 程序。 (请参阅文档。)以下是否满足您的需求?

to go1000each
  repeat 1000 [Correlated-Random-Walk tick]
  setup
  repeat 1000 [Levy-Walk tick]
end

如果为此制作一个按钮,它应该而不是永久按钮。