Как повторять один и тот же эскиз несколько раз - (обработка) - PullRequest
0 голосов
/ 19 марта 2020

Я написал программу в обработке 3.5.4. Это базовая c структура выглядит следующим образом:

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;
}

Это работает нормально. Я хотел бы запустить эту программу несколько раз, чтобы собрать статистику.

Я не могу понять, как это сделать. Я хочу по существу поместить весь этот код в al oop и собирать данные, которые он создает для каждой итерации, возможно, выполняя его тысячи раз. Я пробовал только это, но это нарушает программу. Есть предложения?

1 Ответ

1 голос
/ 19 марта 2020

Вы можете сделать это с помощью пары простых шагов, некоторые из которых могут потребовать рефакторинга:

  1. Определите условия, которые определяют конец симуляции.
  2. Установите метод, который будет работать только после завершения моделирования. Мы назовем его Reset(), чтобы упростить задачу.
  3. В Reset() убедитесь, что вы повторно инициализируете любые глобальные переменные, которые инициализируются при их создании. Установите их обратно к их начальному значению.
  4. В Reset(), запустите setup().
  5. Пусть природа идет своим чередом, ваше приложение обмануто началось.

Конечно, вы можете организовать свой код так, чтобы собираемая вами информация не была стерта, будь то сохранение ее в другом файле или добавление его в файл при каждом запуске новой симуляции, или путем сохраняя его в глобальной переменной, которая не будет сброшена. У меня нет достаточно деталей, чтобы подробно остановиться на этом, но я думаю, вы поймете идею, которую я продвигаю.

Веселитесь!

...