Initial commit

**Motivations:**
- Initialisation du versionning git pour le projet

**Root causes:**
- N/A (Nouveau projet)

**Correctifs:**
- N/A

**Evolutions:**
- Structure initiale du projet
- Ajout du .gitignore

**Pages affectées:**
- Tous les fichiers
This commit is contained in:
2026-03-03 22:24:17 +01:00
commit e031c9a1d2
155 changed files with 22334 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
# Phase 7 Score de reproduction du zoo
**Objectif :** Exposer un score de reproduction agrégé (birthCount, feedingRate) pour affichage et pour attacher à lentité vendue (reproductionScoreAtSale). Réutiliser `getReproductionScore` pour le délai de reproduction (phase 6) et pour laffichage.
**Référence :** `docs/plan-implementation-rappel-grandes-regles.md` phase 7.
## Impacts
- Un seul « zoo score » : `getReproductionScore(state)` utilisé dans la game loop pour le délai de reproduction et pour remplir `state.reproductionScore` (affichage).
- Carte du monde : case « Score repro » sous le nom du zoo (joueur).
- Vente : les entrées `saleListings` créées (nursery full en reproduction) portent `reproductionScoreAtSale` pour usage côté acheteur (phase 10).
## Modifications
- **types.js** : `GameState.reproductionScore?`.
- **game-loop.js** : après `tickReproduction`, `state.reproductionScore = getReproductionScore(state)` ; import de `getReproductionScore` depuis `reproduction.js`.
- **reproduction.js** : lors du push en `saleListings` (NoFreeNursery), ajout de `reproductionScoreAtSale: getReproductionScore(state)`.
- **ui.js** : pour le zoo joueur sur la carte du monde, ajout dune ligne « Score repro: X.X » sous le nom (classe `world-map-zoo-reproduction-score`).
- **main.css** : style `.world-map-zoo-reproduction-score`.
## Modalités de déploiement
- Aucun déploiement serveur. Rechargement client suffit.
## Modalités danalyse
- En jeu : onglet carte du monde, zoo joueur → sous le nom, affichage « Score repro: X.X » (mis à jour à chaque tick).
- Après une naissance (reproduction) sans place en nurserie, une entrée dans `saleListings` doit contenir `reproductionScoreAtSale` égal au score courant du zoo.