Processing 如何多次迭代同一草图-(处理)

Processing 如何多次迭代同一草图-(处理),processing,nested-loops,Processing,Nested Loops,我在Processing 3.5.4中编写了一个程序。其基本结构如下: int SOMEINITIALSTUFF; Class[] classArrays = new Class[]; void setup() { Sets up the simulation to run; size(1200, 700); } void draw() { background(255, 200, 200); Runs Simulation; Collects data; } 这个很好

我在Processing 3.5.4中编写了一个程序。其基本结构如下:

int SOMEINITIALSTUFF;
Class[] classArrays = new Class[];

void setup() {
  Sets up the simulation to run;
  size(1200, 700);
}

void draw() {
  background(255, 200, 200);
  Runs Simulation;
  Collects data;
}
这个很好。我想做的是运行这个程序多次,以收集一些统计数据


我不知道该怎么做。我想将整个代码放在一个循环中,收集它为每次迭代创建的数据,可能会运行数千次。我试过了,但它破坏了程序。有什么建议吗?

您可以通过几个简单的步骤来完成,其中一些可能需要重构:

  • 确定定义模拟结束的条件
  • 设置一个仅在模拟完成后运行的方法。我们将其称为
    Reset()
    ,以简化操作
  • Reset()
    中,确保重新初始化创建时初始化的所有全局变量。将它们设置回初始值
  • Reset()
    中,运行
    setup()
  • 让自然顺其自然吧,你的应用程序已经被骗重新开始
  • 当然,您可能希望组织代码,以便收集的信息不会被删除,无论是通过在每次运行新模拟时将其保存到其他文件中/将其附加到文件中,还是通过将其保存在不会重置的全局变量中。我没有足够的细节来阐述这一点,但我想你会理解我提出的想法


    玩得开心

    真是太棒了!我不知道您可以再次调用setup()并重新初始化所有内容。非常感谢!很高兴它做到了!别忘了接受答案,这样其他有相同问题的用户就会知道答案在这里起作用了。