Skip to content

Реализация на языке Typescript клеточного автомата "Игра Жизнь" , придуманного английским математиком Джоном Конвеем в 1970 году

Notifications You must be signed in to change notification settings

v-nvtsk/life-game

Repository files navigation

Lint and Test Endpoint Badge pages-build-deployment GitHub repo size

Игра "Жизнь"

Описание

Реализация на языке Typescript клеточного автомата "Игра Жизнь" , придуманного английским математиком Джоном Конвеем в 1970 году.

Игрок задает начальное состояние "клеток" и нажимает на кнопку старт.

  • "Живые клетки" окрашены ярко зелёным цветом.
  • Новые живые клетки появляются на пустых ячейках, если у них есть три живых соседа.
  • Если соседей только два клетка остаётся живой.
  • Если соседей меньше двух или больше трёх клетка погибает.

Возможно добавление новых живых ячеек в процессе игры кликом на одиночной ячейке или движением мыши при нажатой левой кнопке мыши. В процессе игры можно менять размеры поля и скорость игры (время между ходами).

Рабочая версия проекта доступна по ссылке: https://v-nvtsk.github.io/life-game/

Детальное описание

  • Сборка проекта выполняется с использованием webpack. Сборку можно выполнить запуском npm скрипта:

    npm run build

    запуск локального веб-сервера по адресу http://127.0.0.1:8080 выполняется скриптом:

    npm start

  • Настроена транспиляция typescript с использованием babel

  • Поддержка импорта css файлов в webpack

  • Модульное тестирование выполняется с помощью jest. Настроен контроль покрытия кода тестами в ci/cd. Покрытие не ниже 60% Ручной запуск тестов выполняется запуском скрипта npm test.

  • Отрисовка поля по-умолчанию выполняется на элементе Canvas

  • Возможно использование других классов имплементирующих абстрактный класс View, например, класса Table, реализующего отображение с помощью HTML-элемента table.

About

Реализация на языке Typescript клеточного автомата "Игра Жизнь" , придуманного английским математиком Джоном Конвеем в 1970 году

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published