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

Семейство: WordParty

Словесные игры, скрытая информация per-viewer, human judge.

Игры

shlyapa, kontakt, parol, na_bukvu, dva_slova, storytelling, bonjour_madame, veriu_ne_veriu, four_questions, chto_tut_est, tabletime_clock, holodno_goryacho, chto_ranshe, ot_nachala_do_kontsa, ya_tebya_znayu, kto_bolshe

Use Cases

flowchart LR
    Explainer((Explainer)) --> UC_Explain[UC-ExplainOrHint]
    Guesser((Guesser)) --> UC_Guess[UC-SubmitGuess]
    Judge((Judge)) --> UC_Judge[UC-JudgeAnswer]
    System((System)) --> UC_Mask[UC-MaskSecretPerViewer]

FSM

stateDiagram-v2
    [*] --> Setup: gameStart
    Setup --> ActiveRound: roundStart
    ActiveRound --> AwaitInput: promptShown
    AwaitInput --> JudgePending: guessSubmitted
    JudgePending --> ScoreUpdate: judged
    ScoreUpdate --> ActiveRound: nextPrompt
    ScoreUpdate --> GameOver: winScore
    GameOver --> [*]

Sequence: угадывание (Шляпа)

sequenceDiagram
    participant E as Explainer
    participant G as Guesser
    participant API as GameService

    Note over E,API: secret word only in E's view
    E->>API: start_guessing
    G->>API: guess {word}
    E->>API: judge_guess {index, correct}
    API-->>G: scores updated

Shared module: secret_word.py

  • Словарь server-side
  • mask_for_viewer(state, viewer_id) — скрыть секрет
  • Нормализация: lower, trim

Per-game вариации

Игра Роли Секрет
shlyapa explainer + guessers слово
kontakt leader + 2 contact association + secret
parol 2×2 команды password per team
na_bukvu все буква + категория
dva_slova explainer только 2 слова в подсказке

NFR

  • NFR-G02: таймер фазы ±1 с (parol, tabletime_clock)
  • NFR-G05: фиксированный словарь для тестов
  • FR-055: роль Judge