Skip to content

Repository files navigation

Цветуэль

Попробовать игру можно здесь: 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 — конфиги игры.

Запуск

  1. Клонируйте репозиторий и создайте .env:

    git clone https://github.com/guleswine/tsvetuel && cd tsvetuel
    cp .env.example .env

    В .env нужно указать доступы к БД и VK API.

  2. Запустите Docker:

    docker compose up -d --build
  3. Выполните установку и миграции:

    docker compose exec app bash -c "composer install && php artisan key:generate && php artisan migrate"

Бэкенд готов к работе, взаимодействие через чат группы вконтакте.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages