Тема игры «Жизнь», не раз поднималась на хабре. Описывались различные модификации игры, я хочу представить еще одну. Модификация игры довольно тривиальна, но дает больше возможности в наблюдении, чем оригинал.
В классических правилах придуманных Джоном Конвеем, каждая клетка игрового поля, может быть только в двух состояниях: либо клетка пуста, либо заполнена фишкой.
Подобно эволюции в природе, где развитие шло от одноклеточных к многоклеточным, логично представить развитие игры «Жизнь», где в клетке может находиться больше одной фишки.
Таким образом, можно представить игровое поле в виде двумерного массива целых положительных чисел.
Итак, помимо стандартных условий зарождения жизни и ее гибели, у нас будут условия «роста» и «деградации»:
- пустая клетка, или клетка со значением 0, получает значение 1, при условии, если ее окружают 3 клетки со значением больше 0;
- клетка со значением больше 0, будет «расти», то есть получит +1, при условии, если она имеет 2-3 соседа со значением больше 0;
- клетка со значением больше 0, примет значение 0, если имеет 1, 4-5 соседей имеющих значение выше 0;
- клетка со значением выше 0, будет «деградировать», то есть ее значение уменьшиться на 1 (-1), при условии, если все соседние клетки имеют 0, или 6-8 соседей имеют значение больше 0.
Помимо этого есть смысл определить предел роста клетки. Так же условие, которое определяет, что происходит с клеткой по достижении максимума.
Интерпретация правил в настройках приложения:
Эти правила, конечно, можно варьировать и получать результаты.
Как мы видим, поведение клеток с новыми правилами стало еще более сложным и интересным для наблюдений.
Автор: aigame