S072: Игра Жизнь (клеточные автоматы)
--------------------------------------------------------------------------------
Задание
Написать програмную модель биологической системы:
Прямоугольное клетчатое поле шириной W и высотой H.
Клетка может быть пустой или в ней может жить глюк.
Задается начальное состояние поля (колонии глюков), и выполняется силмуляция
жизни колонии с течением времени.
Если у глюка менее 2 соседей, он умирает от одиночества.
Если у пустой клетки ровно 3 глючных соседа, в это клетке появляется новый глюк.
Если у глюка больше 3 соседей, глюк умирает от перенаселленности.
Рассмотреть следующие варианты:
симулировать жизнь колонии по поколениям, выполняя проверку для каждой клетки
поля;
симулировать жизнь колонии без поколений, выбирая клетки для анализа с использованием
генератора случайных чисел.
Состояние клетки кодировать целыми числами: 0 -- пустая клетка, 1.. глюк в возрасте
N
Выполнить визуализацию состояния колонии в виде:
Дампа поля в текстовом виде в виде таблицы (в простом текстовом формате или в
виде .html).
Использовать в качестве поля вашу модель экрана для индексированных цветов или
используя функцию зависимости компонентов RGB от возраста глюка. Например пустая
клетка #FFFFFF (соответственно #RRGGBB в hex виде), а для занятых клеток все
компоненты равны #FF-возраст_глюка. В этом случае чем старее глюк, тем темнее
будет соответствующая точка.
Отобразить состояние колонии с небольшими размерами, растянув ее на размер экрана
вашей модели экрана.
Программа должна обеспечивать выполнение одного шага по нажатию кнопки, или выполнение
шагов автоматически с регулируемой скоростью.