143 return statistics[
static_cast<std::size_t
>(axis)];
174 [[nodiscard]] std::vector<std::string>
unreachableFrom(std::string_view from)
const;
193[[nodiscard]]
Atlas loadAtlas(
const std::filesystem::path& directory);
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
RegionAxis
Les sept axes, dans l'ordre où le livre les imprime.
Definition Atlas.h:77
@ EconomicProsperity
Definition Atlas.h:80
@ CrimeAndViolence
Definition Atlas.h:79
@ MonsterPresence
Definition Atlas.h:83
@ MagicAccess
Definition Atlas.h:82
@ PoliticalStability
Definition Atlas.h:84
@ GovernmentCorruption
Definition Atlas.h:81
@ CitizenFreedom
Definition Atlas.h:78
constexpr std::size_t kRegionGradeCount
Nombre de notes — pour les parcours exhaustifs et les contrôles de couverture.
Definition Atlas.h:41
std::string_view regionAxisName(RegionAxis axis)
Le nom d'un axe, tel que le schéma l'écrit (citizenFreedom, …).
Definition Atlas.cpp:213
Atlas loadAtlas(const std::filesystem::path &directory)
Charge l'atlas — regions/ et locations/ sous le dossier donné.
Definition Atlas.cpp:255
std::string_view regionGradeName(RegionGrade grade)
Le nom d'une note, tel que le schéma l'écrit (veryLow, normal, …).
Definition Atlas.cpp:201
constexpr std::size_t kRegionAxisCount
Nombre d'axes.
Definition Atlas.h:88
std::optional< RegionGrade > regionGradeFromName(std::string_view name)
La note portant ce nom de schéma, ou std::nullopt.
Definition Atlas.cpp:205
RegionGrade
Les cinq notes de l'encart « Regional Statistics » (EX-CNT-060).
Definition Atlas.h:32
@ Low
Definition Atlas.h:34
@ High
Definition Atlas.h:36
@ VeryLow
Definition Atlas.h:33
@ Normal
Definition Atlas.h:35
@ VeryHigh
Definition Atlas.h:37
@ Normal
Definition Check.h:32
L'atlas chargé, et ce qui n'a pas pu l'être.
Definition Atlas.h:153
std::vector< Location > locations
Les lieux chargés, triés par identifiant.
Definition Atlas.h:157
std::vector< Region > regions
Les régions chargées, triées par identifiant.
Definition Atlas.h:155
std::vector< std::string > errors
Un message par fichier refusé, nommant le fichier et la raison.
Definition Atlas.h:159
const Location * findLocation(std::string_view id) const
Le lieu portant cet identifiant, ou nullptr.
Definition Atlas.cpp:222
std::vector< std::string > unreachableFrom(std::string_view from) const
Les régions que l'on ne peut pas atteindre depuis from en suivant neighbors (EX-CNT-062).
Definition Atlas.cpp:227
const Region * findRegion(std::string_view id) const
La région portant cet identifiant, ou nullptr.
Definition Atlas.cpp:217
Un lieu nommé d'une région : un nœud terminal du graphe, une carte à créer.
Definition Atlas.h:113
std::string source
Definition Atlas.h:116
std::string region
Identifiant de la région qui le porte. Jamais vide.
Definition Atlas.h:118
std::string id
Definition Atlas.h:114
std::string name
Definition Atlas.h:115
std::string description
Le texte du livre. Vide pour une entrée qu'il ne fait que nommer.
Definition Atlas.h:120
Une appréciation d'un axe : une note, et la portée où elle vaut.
Definition Atlas.h:50
std::string scope
Portée, telle que le livre l'écrit. Vide si l'appréciation vaut pour toute la région.
Definition Atlas.h:53
RegionGrade grade
Definition Atlas.h:51
La population d'une région.
Definition Atlas.h:105
std::vector< RegionSpeciesShare > species
Definition Atlas.h:107
std::optional< int > otherPercent
La part que le livre range sous « others ». Absente s'il n'en donne pas.
Definition Atlas.h:109
std::optional< int > total
Definition Atlas.h:106
La part d'une espèce dans la population d'une région.
Definition Atlas.h:91
int percent
Definition Atlas.h:96
std::string species
Clé d'espèce, en anglais et au singulier. Voir la note de loadAtlas.
Definition Atlas.h:93
std::string label
Le mot du livre, tel qu'il l'écrit — « summer elves ».
Definition Atlas.h:95
Un axe de statistique régionale : une ou plusieurs appréciations (EX-CNT-061).
Definition Atlas.h:62
std::vector< RegionAppraisal > appraisals
Definition Atlas.h:63
RegionGrade grade() const
La note principale : celle de la première appréciation.
Definition Atlas.h:66
bool varies() const
Vrai si la région n'est pas uniforme sur cet axe.
Definition Atlas.h:71
Une région : un nœud du graphe de cartes.
Definition Atlas.h:129
std::string name
Definition Atlas.h:131
const RegionStatistic & statistic(RegionAxis axis) const
L'axe demandé.
Definition Atlas.h:142
RegionPopulation population
Definition Atlas.h:135
std::string faction
Definition Atlas.h:134
std::string id
Definition Atlas.h:130
std::string source
Definition Atlas.h:132
std::array< RegionStatistic, kRegionAxisCount > statistics
Les sept axes, indexés par core::RegionAxis.
Definition Atlas.h:137
std::vector< std::string > locations
Definition Atlas.h:139
std::string government
Definition Atlas.h:133
std::vector< std::string > neighbors
Definition Atlas.h:138