Перейти к содержимому
VladG24_YT

Игра "Жизнь" Джона Конвеея для OpenComputers

Рекомендуемые сообщения

Доброго времени суток.

Я решил попробовать себя в написании игр на Lua и воссоздать клеточный автомат "Жизнь" Джона Конвеея для OpenComputers 1.7.5.

 

Описание:

В игре существуют два типа клеток - живая и мёртвая. Суть игры в том, чтобы расставить живые клетки и затем наблюдать за их "поведением". Правила автомата очень просты:

  • Если вокруг мёртвой клетки ровно 3 живых - клетка оживает
  • Если вокруг живой клетки меньше 2 или больше 3 живых - клетка умирает
  • В остальных случаях клетки сохраняют своё состояние

 

Известные недочёты:

  • Вычисление каждого следующего поколения может занимать до полуминуты
  • При контакте с краями поля, любая фигура постепенно погибает в соответствии с правилами автомата
  • При запуске симуляции, её можно остановить только перезагрузкой в shell

 

Скачать:

Репозиторий на GitHub: https://github.com/Vladg24YT/Game-Of-Life

Последняя версия (1.0.0): https://github.com/Vladg24YT/Game-Of-Life/releases/tag/1.0.0

 

Скриншот:
Планерная пушка Госпера

Изменено пользователем VladG24_YT
Дополнил правила автомата

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если перенести расчет поколений на битовую логику, то скорость вырастет на порядок. Даже обычный логический фильтр, позволяет выкинуть 2.5  цикла.

Чтобы завернуть поле в тор, надо при вычислении просто делать копию с противоположной стороны.

  • Нравится 2
  • Одобряю 1
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...