Как стать автором
Обновить

И снова игра «Жизнь»

Время на прочтение1 мин
Количество просмотров27K
image Тема игры «Жизнь», не раз поднималась на хабре. Описывались различные модификации игры, я хочу представить еще одну. Модификация игры довольно тривиальна, но дает больше возможности в наблюдении, чем оригинал.

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

Таким образом, можно представить игровое поле в виде двумерного массива целых положительных чисел.
image


Итак, помимо стандартных условий зарождения жизни и ее гибели, у нас будут условия «роста» и «деградации»:
  • пустая клетка, или клетка со значением 0, получает значение 1, при условии, если ее окружают 3 клетки со значением больше 0;
  • клетка со значением больше 0, будет «расти», то есть получит +1, при условии, если она имеет 2-3 соседа со значением больше 0;
  • клетка со значением больше 0, примет значение 0, если имеет 1, 4-5 соседей имеющих значение выше 0;
  • клетка со значением выше 0, будет «деградировать», то есть ее значение уменьшиться на 1 (-1), при условии, если все соседние клетки имеют 0, или 6-8 соседей имеют значение больше 0.

Помимо этого есть смысл определить предел роста клетки. Так же условие, которое определяет, что происходит с клеткой по достижении максимума.

Интерпретация правил в настройках приложения:

image


Эти правила, конечно, можно варьировать и получать результаты.


Как мы видим, поведение клеток с новыми правилами стало еще более сложным и интересным для наблюдений.

Реализация Web

Зеркало Web

Приложение для Windows
Теги:
Хабы:
Всего голосов 29: ↑25 и ↓4+21
Комментарии10

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн