Игра Конвея в жизнь поражает компьютерных ученых и математиков уже более полувека. Для тех, кто не знает, Game of Life - это игра с нулевым игроком, которая следует четырем простым правилам и может закончиться хаотичным, красивым и умопомрачительным исходом. Эту простую игру можно даже использовать для моделирования машины Тьюринга (по сути, вы можете программировать с помощью игры).
Сегодня я собираюсь показать вам, как вы можете сделать эту игру самостоятельно, используя всего 100 строк Javascript.
Вы можете почувствовать игру здесь: https://playgameoflife.com/
Что такое Игра жизни Конвея?
«Игра жизни» Конвея начинается с двухмерной сетки, в которой каждая ячейка либо жива, либо мертва. Затем сетка будет развиваться после каждой итерации в соответствии со следующими правилами:
- Любая живая клетка с менее чем двумя живыми соседями умирает
- Любая живая ячейка с 2 или 3 живыми соседями продолжает жить.
- Любая мертвая клетка с тремя живыми соседями становится живой клеткой.
- Любая живая клетка с более чем 3 живыми соседями умирает
Следуя этим правилам, каждая ячейка подсчитывает количество соседних с ней живых ячеек и определяет свой предстоящий статус.
Технологии, которые мы будем использовать
Чтобы создать симулятор Game of Life, мы будем использовать Javascript в сочетании со следующими инструментами:
P5.js
P5.js - это простая в использовании графическая библиотека javascript. Это значительно упростит отображение наших ячеек. Вы можете проверить это здесь:
Кодовая сфера
Codesphere - это облачный провайдер без конфигурации, который позволит нам беспрепятственно развернуть наше приложение. Мы собираемся использовать его для размещения нашего симулятора Game of Life. Вы можете узнать больше здесь:
Код
Крутые стартовые решетки
И вот так! Мы создали «Игру жизни» Конвея с помощью довольно примитивного JavaScript! Вот несколько интересных творений, которые вы можете создать:
Это лишь верхушка айсберга! Регулируя длину сетки и правила выживания, вы можете создавать буквально бесконечное количество шаблонов.
Надеюсь, вам понравилось!
Удачного программирования от ваших хороших друзей из Codesphere, облачного провайдера нового поколения.