45 int disadvantageSources)
noexcept {
46 const bool avantage = advantageSources > 0;
47 const bool desavantage = disadvantageSources > 0;
48 if (avantage == desavantage) {
99 [[nodiscard]]
constexpr bool succeeded() const noexcept {
104 [[nodiscard]] std::string
describe()
const;
119[[nodiscard]] CheckResult
rollCheck(
int target, std::span<const Modifier> modifiers,
120 RollStance stance, DeterministicRandom& random);
Générateur pseudo-aléatoire déterministe, à graine explicite (jamais l'horloge, EX-NFR-002).
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
CheckResult rollCheck(int target, std::span< const Modifier > modifiers, RollStance stance, DeterministicRandom &random)
Lance un d20 contre un seuil.
Definition Check.cpp:10
constexpr int D20_FACES
Nombre de faces du dé de résolution. Le d20 est la mécanique centrale du jeu.
Definition Check.h:21
std::string_view rollStanceName(RollStance stance) noexcept
Nom textuel d'une posture, pour les journaux et la restitution.
Definition Check.cpp:44
constexpr RollStance rollStance(int advantageSources, int disadvantageSources) noexcept
Détermine la posture depuis le nombre de sources de chaque type (EX-DND-002).
Definition Check.h:44
RollStance
Comment le d20 est lancé.
Definition Check.h:31
@ Advantage
Definition Check.h:33
@ Normal
Definition Check.h:32
@ Disadvantage
Definition Check.h:34
Le résultat complet d'un jet, et de quoi le reconstituer (EX-DND-003).
Definition Check.h:68
constexpr bool succeeded() const noexcept
Vrai si le total atteint ou dépasse le seuil.
Definition Check.h:99
RollStance stance
La posture effectivement appliquée, après annulation.
Definition Check.h:80
std::vector< int > dice
Les dés lancés : un, ou deux en cas d'avantage ou de désavantage.
Definition Check.h:70
int target
Le seuil visé (degré de difficulté, ou classe d'armure).
Definition Check.h:78
std::string describe() const
Restitution lisible du jet, modificateurs et origines compris (EX-DND-003).
Definition Check.cpp:57
std::vector< Modifier > modifiers
Les modificateurs appliqués, avec leur origine.
Definition Check.h:74
int keptDie
Le dé retenu — le meilleur, le pire, ou le seul.
Definition Check.h:72
constexpr bool isNaturalOne() const noexcept
Vrai si le dé retenu vaut 1, indépendamment du total.
Definition Check.h:94
constexpr bool isNaturalTwenty() const noexcept
Vrai si le dé retenu vaut 20, indépendamment du total.
Definition Check.h:89
int total
keptDie plus la somme des modificateurs.
Definition Check.h:76
Un modificateur, avec son origine — sans quoi le jet n'est pas restituable.
Definition Check.h:55
std::string source
Definition Check.h:56
int value
Definition Check.h:57