Перейти к содержанию

BPMN — Турнир в сессии (без Improdor)

Активность: от лобби до смены игр в одной сессии TableTime.

flowchart TD
    Start([Host создаёт сессию]) --> Join[Игроки join по коду]
    Join --> Lobby[Лобби: список участников]
    Lobby --> Select{Host выбирает игру}
    Select --> StartGame[POST /sessions/id/games]
    StartGame --> Play[Игровой цикл: actions + WS]
    Play --> Finished{Игра завершена?}
    Finished -->|нет| Play
    Finished -->|да| History[Запись в историю сессии]
    History --> Again{Ещё игра?}
    Again -->|да| Select
    Again -->|нет| Close[Host закрывает сессию]
    Close --> End([Конец])

Activity: один ход игрока

flowchart TD
    A[Ожидание хода] --> B{Мой ход?}
    B -->|нет| A
    B -->|да| C[UI показывает actions_available]
    C --> D[Игрок отправляет action]
    D --> E[POST /games/id/actions]
    E --> F{validate ok?}
    F -->|нет| G[Показать ошибку]
    G --> C
    F -->|да| H[apply_action + persist]
    H --> I[WS broadcast state_changed]
    I --> J{is_finished?}
    J -->|да| K[GameOver banner]
    J -->|нет| A

Activity: кооперативная игра (Коалиция)

flowchart TD
    R1[Раунд N: раздать карты] --> W[Любой игрок play_card]
    W --> V{value > last?}
    V -->|да| M{все карты выложены?}
    V -->|нет| L[lose_life]
    M -->|да| RN{раунд < 4?}
    M -->|нет| W
    RN -->|да| R1
    RN -->|нет| Win([Команда победила])
    L --> L2{lives > 0?}
    L2 -->|да| R1
    L2 -->|нет| Lose([Поражение])

Примечание: шоу vs платформа

В шоу «Тейбл Тайм» 8 игр за сезон накапливают баллы к финалу. В TableTime v1 каждая GameInstanceнезависимая партия; турнирная обёртка (серия игр с общим счётом) — Phase 5+ roadmap.

Связанные документы