Server: - quiz mode (GameRound): in-memory FR question bank (mcq + truefalse), per-room anti-repeat, first-vote lock, score = base + speed bonus ∝ time left; registered via registerRound, loaded at startup - shared: typed quiz payloads (QuizQuestionPayload / reveal truth / result) - tests: quiz scoring, vote lock, bounds, reveal (bun test) Client: - room store handles round:start / voteAck / reveal / game:end - RoomPage dispatches by status: lobby (host start controls) → quiz view (question, countdown, vote, reveal + scoreboard) → game-end view - replaces standalone lobby page Roadmap V1 step 4. Verified end-to-end over the wire (start→vote→reveal→ score→next round→game:end, no answer leaked, anti-repeat works). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7 lines
233 B
TypeScript
7 lines
233 B
TypeScript
import { registerRound } from "../../registry"
|
|
import { QuizRound } from "./quiz-round"
|
|
|
|
// Brancher l'épreuve = un seul registerRound, aucune plomberie à toucher.
|
|
registerRound("quiz", () => new QuizRound())
|
|
|
|
export { QuizRound }
|