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

Функциональные требования — игры

Расширение functional-requirements.md для каталога «Тейбл Тайм».

Платформенные FR (каталог)

ID Требование Приоритет
FR-051 Каталог shall возвращать все реализованные plugin_id с min/max players Must
FR-052 Нереализованные игры should отображаться в лобби как «скоро» с badge сезона Could
FR-053 Плагин should объявлять implementation_tier (1–4) в metadata каталога Should
FR-054 Tier-3 игры should поддерживать upload медиа ≤ 2 MB Should
FR-055 Tier-2 игры should поддерживать роль Judge (host или назначенный player) Should
FR-056 Coop-плагины should ограничивать подсказки только game actions Should

Шаблон per-game FR

Каждая игра в docs/05-games/{id}/game-spec.md содержит блок:

  • FR-{id}-01 — инициализация state
  • FR-{id}-02 — валидация action по фазе
  • FR-{id}-03 — условие победы
  • FR-{id}-04 — серверный RNG (если применимо)
  • FR-{id}-05 — маскирование секретов per-viewer (если применимо)

Матрица 52×5 (сводная)

plugin_id FR-01 init FR-02 actions FR-03 win FR-04 RNG FR-05 secret
bonjour_madame roles+claims claim/believe most points hidden role
shlyapa ✅ word+scores guess/judge 3 pts word pick word
perudo dice hands bid/challenge last player dice hidden dice
loto cards+pool mark full line draw own card
parol teams hint/guess 25 pts word password
veriu_ne_veriu deck claim/doubt empty hand
kubiki scorecard roll/score high score d6×5
chapaev board+balls strike clear field
sound_quiz clips guess most correct clip order
memo pairs board flip×2 all pairs shuffle hidden
pugovki virtual string move button pattern
korol_govno hands play card shed all shuffle hand
kontakt ✅ secret assoc/contact match word secret
palma gestures guess points gesture
shagay_naadan track roll/move finish d6
chet_nechet bets bet/reveal chips d6
magnet_garden field place magnet area
sunduchki chests pick most treasure chest content hidden
na_oshchup objects guess points object
draw_film prompt draw/guess points prompt prompt
karty deck play/guess points shuffle
one_to_twelve track 1-12 roll/mark fill track 2d6
na_bukvu letter word points letter
gora_kamney stack place height
four_questions Q set answer correct
sto_kletok 10×10 place territory
kucha_mala hands play shed shuffle hand
dva_slova word 2-word hint guess word word
naidi_chislo range guess found secret # secret
ne_krestiki grid place line rule
skachki horses play card finish shuffle hand
koaliciya cards+lives play_card 4 rounds deal hand
ya_tak_vizhu prompt draw points prompt
yatzy scorecard roll/score high total 5d6
tabletime_clock timer timed action points
siluet image guess points image
ya_by_sdul targets blow power clear
holodno_goryacho grid+target guess cell find secret cell secret
pazly pieces drag complete shuffle
chto_tut_est list name items most list
storytelling story add sentence complete
poryadok cards play order lives deal hand
bingo 5×5 card mark bingo line draw own card
korobochka box guess points content
ot_nachala_do_kontsa timeline place card order shuffle
stakanchiki cups pick find shuffle ball pos
dice_board ✅ 6×6 roll/choose 3 in row 2d6
chto_ranshe events order lives shuffle
ya_tebya_znayu questions answer points
belosnezhka apples take limit
spy_i_see roles draw/guess spy caught roles spy
tri_v_ryad 8×8 swap score board
kto_bolshe categories bet most
tbd_finale TBD TBD TBD TBD TBD

Детальные FR — Tier 1 (Phase 4a)

yatzy

ID Требование
FR-yatzy-01 Система shall раздавать scorecard с 13 категориями на игрока
FR-yatzy-02 Игрок shall бросать 5d6 до 3 раз за ход, фиксируя кости между бросками
FR-yatzy-03 Игрок shall записать очки в одну незаполненную категорию за ход
FR-yatzy-04 Бросок shall генерироваться сервером (CSPRNG)
FR-yatzy-05 Победа shall по наибольшей сумме после заполнения всех категорий всеми

koaliciya

ID Требование
FR-koaliciya-01 Система shall раздать 1–4 карты (1–100) по номеру раунда
FR-koaliciya-02 Игрок shall выложить карту play_card без передачи хода по очереди
FR-koaliciya-03 Система shall проверять строго возрастающий порядок на столе
FR-koaliciya-04 При ошибке shall сниматься 1 жизнь (макс 4); при 0 — поражение
FR-koaliciya-05 Победа shall при успешном прохождении 4 раундов (кооператив)

memo

ID Требование
FR-memo-01 Система shall создать сетку пар (N×M/2 пар)
FR-memo-02 Игрок shall открывать 2 тайла за ход; при несовпадении — скрыть
FR-memo-03 При совпадении тайлы shall оставаться открытыми
FR-memo-04 Победа shall по наибольшему числу найденных пар

sto_kletok

ID Требование
FR-sto_kletok-01 Система shall инициализировать поле 10×10
FR-sto_kletok-02 Игрок shall ставить фишку на свободную клетку по очереди
FR-sto_kletok-03 Захват shall по правилам окружения (выпуск шоу)
FR-sto_kletok-04 Победа shall по контролю большинства клеток или очков

perudo

ID Требование
FR-perudo-01 Система shall выдать каждому 5 костей (скрыто)
FR-perudo-02 Игрок shall объявлять bid {qty, face} или challenge
FR-perudo-03 При challenge shall раскрываться все кости и считаться face
FR-perudo-04 Проигравший challenge shall терять 1 кость
FR-perudo-05 Победа shall последнему с костями

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