Попробовать игру можно здесь: https://vk.com/coluel
Бэкенд для пошаговой тактической игры в виде чат-бота "Цветуэль". Написан на Laravel.
Логика построена вокруг состояний пользователя (Lobby, Search, Game). В зависимости от статуса, запросы игрока обрабатывает соответствующий хэндлер:
LobbyHandler— входная точка: поиск игры, просмотр статистики, помощь.SearchHandler— состояние поиска игры, где можно его отменить.GameHandler— основная игровая логика: ходы, применение скиллов.
Действия игрока (ход, абилка) — это классы-команды в app/Commands.
- Игровое поле: 5x5.
- Режимы: PvP и PvE (против компьютера).
- Скиллы:
РазрушениеШпионажСвоя фигураВосстановлениеПропуск фигурыВихрь
app/Handlers— обработчики состояний.app/Commands— команды-действия игрока.app/Services/Game— игровая логика.app/Enums— константы (статусы, скиллы).config/game.php— конфиги игры.
-
Клонируйте репозиторий и создайте
.env:git clone https://github.com/guleswine/tsvetuel && cd tsvetuel cp .env.example .env
В
.envнужно указать доступы к БД и VK API. -
Запустите Docker:
docker compose up -d --build
-
Выполните установку и миграции:
docker compose exec app bash -c "composer install && php artisan key:generate && php artisan migrate"
Бэкенд готов к работе, взаимодействие через чат группы вконтакте.