koaliciya — Коалиция
| Поле | Значение |
|---|---|
plugin_id |
koaliciya |
| Выпуск шоу | S4e08, S5e01 «Коалиция» |
| Версия spec | 0.1 |
| Игроки | 4 (MVP: 2–4) |
| Семейство | CoopSilent |
| Tier | 1 |
Цель
Команда молча выкладывает карты с числами по возрастанию. Пройти 4 раунда без потери всех жизней.
Правила (по выпуску шоу)
- Карты с числами 1–100.
- Нельзя говорить, жестикулировать, подсказывать — только
play_card. - Карту кладёт тот, кто считает, что у него наименьшее из оставшихся.
- На столе числа должны идти строго по возрастанию.
- Ошибка (меньшее после большего) → раунд проигран, −1 жизнь (старт: 4).
- Раунды: 1 карта → 2 → 3 → 4 на игрока.
- Победа: все 4 раунда выиграны.
FSM
stateDiagram-v2
[*] --> DealCards: roundStart
DealCards --> AwaitPlay: cardsDealt
AwaitPlay --> CheckOrder: cardPlayed
CheckOrder --> AwaitPlay: orderValid
CheckOrder --> LoseLife: orderInvalid
LoseLife --> DealCards: livesRemain
LoseLife --> GameOver: noLives
CheckOrder --> NextRound: allCardsPlayed
NextRound --> DealCards: roundLessThan4
NextRound --> GameOver: round4Won
GameOver --> [*]
GameState
{
"phase": "AwaitPlay",
"round": 1,
"cards_per_player": 1,
"lives": 4,
"last_played": null,
"table": [],
"hands": {"p1": [42], "p2": [17]},
"played_this_round": {"p1": false, "p2": false},
"team_won": false,
"winner_id": null
}
Actions
| type | payload | Кто |
|---|---|---|
play_card |
{value: number} |
Любой с этой картой в руке |
Победа
Кооператив: team_won: true, winner_id: null (или первый игрок для совместимости API).
FR
FR-koaliciya-01…05 — см. functional-requirements-games.md