Проект заключает в себя создание популярной в разработке игры "Жизнь". Сам проект разделен на 2 части - сервер и обычная версия игры для терминала.
Серверная часть проекта разделена на модули (разделение по рекомендациям оформления Uber), каждый из
которых выполняет свою задачу. Исполняемый файл лежит в папке cmd
server_version
cmd
// хранения пакетов mainlife
main.go
// точка входа в программу
http
server
// http серверserver.go
// код сервераhandler
// регистрация функций обработчиковhandler.go
internal
application
// конфигурация и код вызова приложенияapplication.go
service
// сервис, который инициализирует и хранит состояния игрыservice.go
pkg
// хранение пакетовlife
// логика игрыlife.go
- Для запуска терминальной версии приложения необходимо зайти в папку
terminal_version
и запустить программу командой:
go run main.go
- Для запуска серверной версии программы вы должны зайти в папку
server_version
, далее проинициализировать модуль Go, установить в него логгер от Uber и в папкеcmd/life
запуститьmain.go
. При открытии сайтаlocalhost:8081/nextstate
вы увидите состояние вашего поля мира, последующие обновления страницы будут приводить к обновлению состояния мира
go mod init industrial_life
go get go.uber.org/zap
cd cmd/life
go run main.go