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

Семейство: MemoryMatch

Пары, лото, бинго — скрытые тайлы и reveal.

Игры

memo, loto, bingo

Use Cases

flowchart LR
    Player((Player)) --> UC_Flip[UC-FlipTile]
    Player --> UC_Mark[UC-MarkNumber]
    System((System)) --> UC_Draw[UC-DrawBall]
    System --> UC_Check[UC-CheckMatch]

FSM

stateDiagram-v2
    [*] --> Hidden: boardDealt
    Hidden --> OneRevealed: firstFlip
    OneRevealed --> Hidden: mismatch
    OneRevealed --> PairFound: match
    PairFound --> Hidden: continue
    PairFound --> GameOver: allPairs
    GameOver --> [*]

Sequence: Мемо

sequenceDiagram
    participant P as Player
    participant API as GameService

    P->>API: flip_tile {index:5}
    API->>API: reveal tile 5
    P->>API: flip_tile {index:12}
    API->>API: compare; hide if mismatch
    API-->>P: board state (masked)

Shared module: memory.py

  • create_pairs(deck_size) — пары id → image/text
  • flip_state(board, idx) — first/second flip tracking
  • bingo_card() — 5×5 с free center
  • loto_draw(pool) — без повтора 1–90

Per-game вариации

Игра Сетка Победа
memo N×M пар все пары открыты
loto карточка 3×9 первая полная линия
bingo 5×5 5 в ряд на карте

NFR

  • NFR-G01
  • Состояние скрытых клеток не утекает в API (только revealed + viewer's card)