Aller au contenu

Référence

tilttek/puzzle-builder
TypeRôle
ScenarioLes énigmes et la finale d'un scénario, son graphe vérifié ; lu depuis des valeurs simples ou du JSON
PuzzleUne énigme : identifiant, titre, vérification des réponses, indices, déverrouillage
UnlockQuand une énigme s'ouvre : énigmes exigées, combien d'entre elles, résolutions du scénario, ou par l'animateur
HintUn palier d'indices : son texte et sa pénalité en secondes
PuzzleEngineLes propositions, les indices, les énigmes ouvertes ou sautées par l'animateur, les états et la vue
ProgressOù en est une équipe : résolutions, énigmes ouvertes, indices, propositions ; écrit et relu en valeurs simples
PuzzleStatusLocked, Open ou Solved
GuessOutcomeCorrect, Partial, Wrong ou Throttled
GuessResultCe qu'a donné une proposition ou un saut, et l'avancement après lui
HintResultL'indice révélé, son palier, les paliers restants, et l'avancement après lui
Answer\AnswerKeyLes réponses acceptées et partielles, normalisées, comparées en temps constant
Answer\AnswerNormalizerLa façon dont réponses et propositions sont normalisées : casse, accents, ponctuation, espaces
Answer\VerdictCe qu'une vérification dit d'une proposition : correcte, partielle avec son message, ou fausse
Record\SolvedUne énigme résolue, à une heure, peut-être sautée
Record\HintTakenUn palier d'indices révélé, à une heure, demandé ou envoyé
View\ScenarioViewCe que les joueurs voient de leur partie
View\PuzzleViewCe que les joueurs voient d'une énigme
Limiter\AllowanceSi une proposition est vérifiée maintenant, et quand elle le sera
Limiter\RateLimiterGuessLimiterPropositions comptées par un limiteur de symfony/rate-limiter
Limiter\InMemoryGuessLimiterPropositions comptées dans une fenêtre fixe, en mémoire
Contract\AnswerCheckLa façon dont les propositions d'une énigme sont vérifiées
Contract\GuessLimiterCombien de propositions une équipe fait sur une énigme dans une période
Event\PuzzleSolvedUne énigme résolue ou sautée
Event\PartialAnswerGivenUne réponse partielle
Event\WrongAnswerGivenUne mauvaise réponse
Event\GuessThrottledUne proposition au-delà de la limite
Event\HintRevealedUn indice révélé
Event\PuzzleOpenedUne énigme ouverte par une résolution ou par l'animateur
Event\ScenarioCompletedUn scénario terminé

Instant est interne : la seule façon dont la bibliothèque écrit une heure, en UTC.

Exceptions

ExceptionLancée quand
Exception\PuzzleBuilderExceptionL'interface de toutes les exceptions de la bibliothèque
Exception\InvalidScenarioUn scénario, une énigme, une clé de réponses, un indice, un déverrouillage ou un limiteur que la bibliothèque refuse
Exception\InvalidAnswerUne proposition qui n'est pas en UTF-8, vide une fois normalisée, ou de plus de 200 caractères
Exception\InvalidProgressUn avancement stocké qui ne se relit pas d'après son scénario
Exception\PuzzleRefusedUn coup que la partie n'autorise pas : une énigme inconnue, verrouillée, résolue, déjà ouverte ou sans indice restant ; une équipe nommée par une adresse courriel

Rien ne change quand une exception est lancée. Chaque message dit ce qui était attendu, comme The puzzle "vault" is still locked.