Вычислительное мышление: Метод решения сложных задач | страница 80
Игра называется , ее автор — математик . Впервые правила игры были опубликованы в 1970 г., и впоследствии она приобрела популярность у программистов по всему миру. Правила просты, хотя Конвей приложил массу усилий, чтобы их правильно сбалансировать и гарантировать интересный игровой процесс.
Сетка представляет собой небольшой квадратный мир с (пикселами), которые могут присутствовать (быть живыми) и отсутствовать (быть мертвыми). У каждой клетки есть окружение из восьми других, которые непосредственно прилегают к ней по горизонтали, вертикали и диагонали. Чтобы выжить, существующая живая клетка должна иметь два или три живых соседа — этого достаточно для поддержания жизни, но не слишком много. Если у любой живой клетки окажется менее двух соседних, она умрет из-за недостаточной населенности. Подобным образом любая живая клетка, у которой более трех живых соседей, умрет от перенаселения. Наконец, каждая живая клетка, у которой есть три живых соседа, активизируется и имитирует процесс размножения. Эти принципы обобщены в на рис. 55.
На рис. 56 показан пример такой модели и один жизненный цикл.
Благодаря этой простой математике и простому набору порождающих правил, которые применяются к клеткам на сетке, на игровом поле возникают странные и интересные модели, которые с течением времени меняются. Клетки живут и умирают по заданным правилам.
Вы можете сыграть в эту игру самостоятельно. Для этого понадобится большая сетка. Для начала сгодится шахматная доска, но вы скоро осознаете, что нужно больше пространства. Больше подойдет доска для игры в го, если она у вас найдется. Как вариант, можно нарисовать большую сетку на самом большом листе бумаги, какой вы только найдете. В идеале лист должен быть бесконечным, но тогда он не поместится в вашу спальню… поэтому придется принять, что, если игра дойдет до края доски, нужно будет быстро найти еще место либо признать, что это конец «Жизни» и все ваши существа упадут с края «вселенной».
Необходимо как-то помечать рождающиеся клетки. Полезно также выделять те, которые в следующем раунде умрут. Убирать их нельзя — они нужны, чтобы просчитать все изменения. К примеру, можно взять камни для игры в го — замените черные на белые, чтобы показать, какие клетки скоро умрут (и отправятся на небо). Еще вам понадобится как-то помечать квадраты, в которых зародится жизнь. Для этого используйте более мелкие предметы (например, бусины) другого цвета. Можно использовать три вида монет или цветных бусин (но, если в вашем мире закипит жизнь, их понадобится очень много).