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()
。 - 顺其自然,您的应用程序已被欺骗重新开始。
当然,您可能希望组织您的代码,以便您收集的信息不会被删除,无论是通过将其保存到不同的文件/每次运行新模拟时将其附加到文件中,还是将其保存在不会被重置的全局变量。我没有足够的细节来详细说明这方面,但我想你会理解我提出的想法。
玩得开心!
推荐阅读
- python - 替换 pandas 中的日期,例如 Nov/19 到 201911
- bash - 在交互式 Bash 脚本中重置输出缓冲区之前的 Gnome 终端历史备份
- flutter - AssetImage() 总是选择基础资产
- excel - Excel 自定义函数未显示
- memory - 编写一个程序来计算 xv6 中的进程内存页数
- macos - 如何在 macOS 上正确地将表单元素与 SwiftUI 对齐?懒人网格?
- python-3.x - 用 lambda 理解频率排序
- sql - 带有数组公式的 SQL 代码
- deep-learning - 我想开发一个总结用户输入文本的 Android 应用程序(可能是一篇新闻文章)
- ios - SwiftUI - 检测点击外部视图或堆栈