Нужна аналогичная программа (надстройка, макрос) для Excel?

Оформите заказ, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

Создание модели хищник-жертва средствами Excel

Скриншот листа Excel с динамической моделью системы

Модель клеточного автомата, реализованная средствами VBA в Excel (с использованием модуля класса) 

В таблице произвольного размера клетки могут быть в трех состояниях: пустая (без цвета), травоядное (зеленый цвет ячейки), хищник (красный цвет ячейки).  

Поведение системы характеризуется следующими параметрами:

  • особь может переместиться на любую клетку, имеющую с данной общую сторону. Направление выбирается случайно из возможных свободных.
  • особь может оставить потомство в той клетке, из которой она переместилась. Потомство появляется периодически, период является параметром.
  • если особь является «хищной», то она может поглотить свою жертву, при этом перемещаясь на место жертвы.
  • особь живет ограниченное количество времени, называемое временем жизни особи – так же параметр.
  • если «хищная» особь не находит себе пищи в течение определенного времени (называемого временем голодной смерти), то она погибает.
  • время голодной смерти является параметром.

 

Для запуска программы нажмите зелёную кнопку.

Предварительно вы можете изменить параметры в желтых ячейках.

Вложения:

Комментарии

Спасибо большое заработало

Этот макрос я писал очень давно, - потому, могут быть проблемы с запуском, если Windows не русскоязычная
Поменяйте все русские слова в коде на английские, - должно заработать

Добрый день! Не запускается макрос. "Cannot run macro 'SacrificeModel.xls!НачатьДвижение'. The macro may not be available in this workbook or all macros may be disabled". Проверил макросы включены, но в коде отображаются крякозабры вместо русских букв, думаю может из-за этого. Попробовал запустить на русской версии excel, тоже самое.

Ну нельзя же так часто размножаться)
Зато теперь вы видите, что чрезмерно частое размножение не приводит ни к чему хорошему)
Надо будет жене показать - может, пореже станет приставать)

PS: Я писал этот макрос, когда только начинал осваивать VBA.
Соответственно, в макросе не в полной мере реализованы проверки на корректность тех или иных значений,
да и тестированием программы вплотную никто не занимался - это ведь студенческое задание, главное для заказчика было - сдать работу преподавателю.

Так что этот макрос стоит рассматривать прежде всего как демонстрацию возможностей Excel, а не как рабочую программу.

Поставил период размножения 1 и что-то там зациклилось :)

Только как мне кажется выполнять подобные задачи на VBA не совсем удобно. Почему не используете например Delphi?

По нескольким причинам. Например:

  • я не знаком с Delphi - работаю только с VB и VBA (соответственно, VBA мне намного удобнее по этой причине)
  • это было задание очередного студента - а в том задании было чётко сказано, что реализовать решение надо средствами Microsoft Excel

Все здорово сделано. Моделировал эту задачу в университете, правда без визуализации. Только как мне кажется выполнять подобные задачи на VBA не совсем удобно. Почему не используете например Delphi?