Игра Конвея в жизнь поражает компьютерных ученых и математиков уже более полувека. Для тех, кто не знает, Game of Life - это игра с нулевым игроком, которая следует четырем простым правилам и может закончиться хаотичным, красивым и умопомрачительным исходом. Эту простую игру можно даже использовать для моделирования машины Тьюринга (по сути, вы можете программировать с помощью игры).

Сегодня я собираюсь показать вам, как вы можете сделать эту игру самостоятельно, используя всего 100 строк Javascript.

Вы можете почувствовать игру здесь: https://playgameoflife.com/

Что такое Игра жизни Конвея?

«Игра жизни» Конвея начинается с двухмерной сетки, в которой каждая ячейка либо жива, либо мертва. Затем сетка будет развиваться после каждой итерации в соответствии со следующими правилами:

  1. Любая живая клетка с менее чем двумя живыми соседями умирает
  2. Любая живая ячейка с 2 или 3 живыми соседями продолжает жить.
  3. Любая мертвая клетка с тремя живыми соседями становится живой клеткой.
  4. Любая живая клетка с более чем 3 живыми соседями умирает

Следуя этим правилам, каждая ячейка подсчитывает количество соседних с ней живых ячеек и определяет свой предстоящий статус.

Технологии, которые мы будем использовать

Чтобы создать симулятор Game of Life, мы будем использовать Javascript в сочетании со следующими инструментами:

P5.js

P5.js - это простая в использовании графическая библиотека javascript. Это значительно упростит отображение наших ячеек. Вы можете проверить это здесь:

Https://p5js.org/

Кодовая сфера

Codesphere - это облачный провайдер без конфигурации, который позволит нам беспрепятственно развернуть наше приложение. Мы собираемся использовать его для размещения нашего симулятора Game of Life. Вы можете узнать больше здесь:

Https://codesphere.com

Код

Крутые стартовые решетки

И вот так! Мы создали «Игру жизни» Конвея с помощью довольно примитивного JavaScript! Вот несколько интересных творений, которые вы можете создать:

Это лишь верхушка айсберга! Регулируя длину сетки и правила выживания, вы можете создавать буквально бесконечное количество шаблонов.

Надеюсь, вам понравилось!

Удачного программирования от ваших хороших друзей из Codesphere, облачного провайдера нового поколения.