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

в 2:13, , рубрики: Алгоритмы, игра жизнь, ненормальное программирование, метки:

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

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

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

Реализация

Автор: aigame

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js