Игра жизнь

Не так давно вспомнил своё старое увлечение — ЖИЗНЬ. Математическая игра такая. Почитал я какой-то журнальчик, а там упоминалось, что мол какие-то новые процессоры делают с алгоритмами обработки массивов данных по правилам, напоминающим игру Жизнь. Игра-то вроде не игра. Проигравших нет, победивших тоже. Да уж очень неординарные решения получаются на игровом поле, да при таких простых правилах.

Игра выглядит следующим образом : всё происходит на бесконечной плоскости (в идеале). Плоскость разбита на клетки. Живые клетки закрашены и образуют определенный рисунок. Течение времени происходит как перерисовка рисунка. У каждой клетки (живой ли, мертвой ли) может быть от 0 до 8 соседей. Перерисовка происходит по следующим правилам :

  • Если клетка имеет трех соседей, то она рождается (ну или отмечает день рождения :))
  • Если двух — живет
  • Если меньше 2 умирает от одиночества, если больше трёх — от перенаселённости.

Обычно в начале игры задаются каким-либо рисунком и смотрят — чего получится. Результаты очень даже любопытные. Можно получить циклически меняющиеся рисунки, рисунки которые линейно перемещаются по полю, и даже рисунки, которые генерируют движущиеся фрагменты. Не правда ли фантастика?

Игру эту долго изучали математики (как дети, прямо), поэтому многие фигурки получили собственные имена, были классифицированы и исследованы. Через некоторое время мне стало интересным опробовать некоторые идеи и я написал программу для выполнения симуляций :

Игра жизнь, скачать.

Эта версия нормально идет под WinXP и W2K. Плоскость симуляции размерами не ограничена, множество примеров запрограммировано в библиотеке. Можно генерировать картинку через несколько ходов, чтобы подстроить анимацию к циклам движения. Различные режимы масштабирования и т.п.

 

Понравилась статья? Есть вопросы? - пишите в комментариях.




Комментарий: