Модель клеточного автомата, реализованная средствами VBA в Excel (с использованием модуля класса)
В таблице произвольного размера клетки могут быть в трех состояниях: пустая (без цвета), травоядное (зеленый цвет ячейки), хищник (красный цвет ячейки).
Поведение системы характеризуется следующими параметрами:
- особь может переместиться на любую клетку, имеющую с данной общую сторону. Направление выбирается случайно из возможных свободных.
- особь может оставить потомство в той клетке, из которой она переместилась. Потомство появляется периодически, период является параметром.
- если особь является «хищной», то она может поглотить свою жертву, при этом перемещаясь на место жертвы.
- особь живет ограниченное количество времени, называемое временем жизни особи – так же параметр.
- если «хищная» особь не находит себе пищи в течение определенного времени (называемого временем голодной смерти), то она погибает.
- время голодной смерти является параметром.
Для запуска программы нажмите зелёную кнопку.
Предварительно вы можете изменить параметры в желтых ячейках.
Комментарии
Ну нельзя же так часто размножаться)
Зато теперь вы видите, что чрезмерно частое размножение не приводит ни к чему хорошему)
Надо будет жене показать - может, пореже станет приставать)
PS: Я писал этот макрос, когда только начинал осваивать VBA.
Соответственно, в макросе не в полной мере реализованы проверки на корректность тех или иных значений,
да и тестированием программы вплотную никто не занимался - это ведь студенческое задание, главное для заказчика было - сдать работу преподавателю.
Так что этот макрос стоит рассматривать прежде всего как демонстрацию возможностей Excel, а не как рабочую программу.
Поставил период размножения 1 и что-то там зациклилось :)
По нескольким причинам. Например:
Все здорово сделано. Моделировал эту задачу в университете, правда без визуализации. Только как мне кажется выполнять подобные задачи на VBA не совсем удобно. Почему не используете например Delphi?
Отправить комментарий