Создание модели хищник-жертва средствами Excel
Модель клеточного автомата, реализованная средствами VBA в Excel (с использованием модуля класса)
В таблице произвольного размера клетки могут быть в трех состояниях: пустая (без цвета), травоядное (зеленый цвет ячейки), хищник (красный цвет ячейки).
Поведение системы характеризуется следующими параметрами:
- особь может переместиться на любую клетку, имеющую с данной общую сторону. Направление выбирается случайно из возможных свободных.
- особь может оставить потомство в той клетке, из которой она переместилась. Потомство появляется периодически, период является параметром.
- если особь является «хищной», то она может поглотить свою жертву, при этом перемещаясь на место жертвы.
- особь живет ограниченное количество времени, называемое временем жизни особи – так же параметр.
- если «хищная» особь не находит себе пищи в течение определенного времени (называемого временем голодной смерти), то она погибает.
- время голодной смерти является параметром.
Для запуска программы нажмите зелёную кнопку.
Предварительно вы можете изменить параметры в желтых ячейках.
Клеточные автоматы ч.1 — Conway’s Game of Life in Excel
Функционал:
1. Переключатель "гибель клеток на границе — 0 / закольцованные координаты — 1 "
2. Счетчик поколений
3. Замедление расчета задаваемое в секундах, с дробной частью (к примеру — 0,11 сек.)
4. Выделение ячеек — левой кнопкой, закрашивание выделенного или отдельной ячейки — правой.
5. Поле для жизни 500*500 клеток (поэтому версия №5)
Предустановленная модель в файле и на рис.
1. Стреляет "Планерное ружьё Госпера" -слева и ружье "B-52 bomber" — правее (№2 на рис.)
2. Летящие планеры, поворачивает на 90 градусов — Отражатель "Snark" — №3 на рис.
3. "Планер P60" — представляет собой осциллятор периода 60, состоящий из планера, отраженного двумя пятиугольниками (планер летает между двумя "Pentadecathlon") — №4 на рис.
4. Планеры ("Glider"), стрелками указаны направления полета.
5.Что бы планеры не улетали их жрут пожиратели "Eater 1" — №1 на рис.
Запускаем — смотрим движение описанное выше и отмеченное на прилагаемом рисунке.