# 0xagax0/joueur architecture

> Architecture diagram of the GitHub repository 0xagax0/joueur, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/0xagax0/joueur
- Repository: https://github.com/0xagax0/joueur

## Overview

This is a small C++ console example for player records and two specialized character types. The principal workflow constructs sample players, warriors, and mages, then prints their details; the classes also provide interactive record input/editing and character-specific actions. The graph reflects the sampled implementation; no README describes additional capabilities.

Main entry points: [`Joueur/main.cpp`](https://github.com/0xagax0/joueur/blob/master/Joueur/main.cpp) (Sample workflow), [`Joueur/Joueur.cpp`](https://github.com/0xagax0/joueur/blob/master/Joueur/Joueur.cpp) (Player records), [`Joueur/Guerrier.cpp`](https://github.com/0xagax0/joueur/blob/master/Joueur/Guerrier.cpp) (Warrior actions), [`Joueur/Mage.cpp`](https://github.com/0xagax0/joueur/blob/master/Joueur/Mage.cpp) (Mage actions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Program entry"]
  node_main["Sample workflow<br/>[main.cpp]"]
end

subgraph group_domain["Player model"]
  node_joueur["Player records<br/>[Joueur.cpp]"]
end

subgraph group_specializations["Character types"]
  node_guerrier["Warrior actions<br/>[Guerrier.cpp]"]
  node_mage["Mage actions<br/>[Mage.cpp]"]
end

node_runtime(("Console runtime"))

node_runtime -->|"launches"| node_main
node_main -->|"constructs, prints"| node_joueur
node_main -->|"constructs, prints"| node_guerrier
node_main -->|"constructs, prints"| node_mage
node_main -->|"formats with &lt;&lt;"| node_joueur
node_guerrier -->|"extends"| node_joueur
node_mage -->|"extends"| node_joueur
node_joueur -->|"reads, writes"| node_runtime
node_guerrier -->|"writes attack"| node_runtime
node_mage -->|"writes spell"| node_runtime

click node_main "https://github.com/0xagax0/joueur/blob/master/Joueur/main.cpp"
click node_joueur "https://github.com/0xagax0/joueur/blob/master/Joueur/Joueur.cpp"
click node_guerrier "https://github.com/0xagax0/joueur/blob/master/Joueur/Guerrier.cpp"
click node_mage "https://github.com/0xagax0/joueur/blob/master/Joueur/Mage.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main toneBlue
class node_joueur toneAmber
class node_guerrier,node_mage toneMint
class node_runtime toneIndigo
```

## Components

### Program entry

- [Sample workflow](https://github.com/0xagax0/joueur/blob/master/Joueur/main.cpp): `Joueur/main.cpp`

### Player model

- [Player records](https://github.com/0xagax0/joueur/blob/master/Joueur/Joueur.cpp): `Joueur/Joueur.cpp`

### Character types

- [Warrior actions](https://github.com/0xagax0/joueur/blob/master/Joueur/Guerrier.cpp): `Joueur/Guerrier.cpp`
- [Mage actions](https://github.com/0xagax0/joueur/blob/master/Joueur/Mage.cpp): `Joueur/Mage.cpp`

### Other components

- **Console runtime**

## Connections

- Console runtime → Sample workflow: launches
- Sample workflow → Player records: constructs, prints
- Sample workflow → Warrior actions: constructs, prints
- Sample workflow → Mage actions: constructs, prints
- Sample workflow → Player records: formats with <<
- Warrior actions → Player records: extends
- Mage actions → Player records: extends
- Player records → Console runtime: reads, writes
- Warrior actions → Console runtime: writes attack
- Mage actions → Console runtime: writes spell
