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

memo — Мемо

Поле Значение
plugin_id memo
Выпуск шоу S2e02 «Мемо»
Версия spec 0.1
Игроки 2–4
Семейство MemoryMatch
Tier 1

Цель

Открыть все пары карточек. Больше пар — победа (или совместный финиш в MVP).

Компоненты

Элемент Описание
Поле Сетка 4×4 (8 пар) default
Тайлы Скрыты / открыты / matched

Ход

  1. flip_tile {index: number} — открыть тайл.
  2. Если открыт 1 тайл — ждём второй.
  3. Если 2 тайла: совпали → matched; не совпали → скрыть оба, ход сопернику.
  4. При совпадении — тот же игрок ходит снова.

FSM

stateDiagram-v2
    [*] --> AwaitFlip1
    AwaitFlip1 --> OneRevealed: flip
    OneRevealed --> AwaitFlip1: flip2 mismatch
    OneRevealed --> AwaitFlip1: flip2 match
    AwaitFlip1 --> GameOver: allMatched
    GameOver --> [*]

Actions

type payload phase
flip_tile {index: number} AwaitFlip1, OneRevealed

Победа

Все пары открыты → winner_id = игрок с max pairs_found.

FR

FR-memo-01…04 — см. functional-requirements-games.md