Vérification des phases 0 à 9 avant phase 10
Référence : docs/plan-implementation-rappel-grandes-regles.md.
Objectif : S’assurer que tout le nécessaire pour la phase 10 (Ventes et enchères) est en place.
Phase 0 – Modèle de données et configuration
| Livrable |
Statut |
Note |
| Cases couleur + température |
Fait |
biome-rules, grid, config |
| Animaux multi-cases (shape, stockage) |
Fait |
cellsWide/cellsHigh dans types, placement, loot-tables |
| Types de bâtiments 7 niveaux |
Fait |
research, billeterie, souvenirShop, nursery, food, reception, truck, biomeChangeColor, biomeChangeTemp dans config |
| Entités déplaçables (bébé, animal) |
Partiel |
pendingBabies, receptionAnimals, saleListings en place ; conveyor et labo utilisent encore des œufs (eggType) |
| Config (niveaux max, coûts, capacités) |
Fait |
GameConfig étendu |
Blocant phase 10 : Non. saleListings, pendingBabies, receptionAnimals sont en place.
Phase 1 – Cartes : couleurs et températures
| Livrable |
Statut |
| Biomes / température par case |
Fait (biome-rules.js, getDisplayBiome, getDisplayTemperature) |
| Transitions douces (interpolation) |
Fait |
| Rendu grille |
Fait |
Phase 2 – Animaux multi-cases
| Livrable |
Statut |
| cellsWide / cellsHigh (loot-tables, placement) |
Fait |
| Stockage et mouvement du bloc |
Fait (placement, zoo, hatching) |
Phase 3 – Bâtiments zoo (types et niveaux)
| Livrable |
Statut |
| Research, Billeterie, Boutique, Nurserie, Food, Reception, Truck, BiomeColor, BiomeTemp |
Fait (config 7 niv., build/upgrade dans zoo, placement, ui) |
Phase 4 – Bébés et flux nurserie / accueil
| Livrable |
Statut |
Note |
| Bébés (nurserie → mature) |
Fait |
pendingBabies, readyAt, placeMatureBabyOnCell |
| Accueil (reception → animal prêt) |
Fait |
receptionAnimals, placeReceptionAnimalOnCell |
| Achat / déplacement (bébé mature, animal prêt) |
Fait |
zoo, placement, ui |
| Suppression complète du modèle « œuf » |
Partiel |
Conveyor et labo exposent encore des œufs ; bébés/animaux en parallèle |
Blocant phase 10 : Non. Flux bébé/animal et saleListings (nursery full) existent.
Phase 5 – Nourriture, consommation et morts
| Livrable |
Statut |
Note |
| Nourriture (capacité, répartition, lastFedAt) |
Fait |
food.js, getFoodCapacity, tickFeeding |
| Mort si pas nourri |
Fait |
checkDeathCauses, MaxSecondsWithoutFood |
| Pas visité |
Fait |
MaxSecondsWithoutVisit |
| Température / milieu en écart |
Fait |
maybeDeathBlock (temp + biome) |
| Bébé mature non placé à temps |
Fait |
filterPendingBabies, MaxSecondsMatureNotPlaced |
| Animal accueil prêt non placé à temps |
Fait |
filterReceptionAnimals, MaxSecondsReadyNotPlaced |
| Autres causes (seul, tué autre zoo, recherche trop basse, bébé non vendu, vente échouée) |
Non fait |
Optionnel pour phase 10 ; « bébé invendu meurt » = phase 10 |
Blocant phase 10 : Non.
Phase 6 – Reproduction
| Livrable |
Statut |
| Paires même type + autre zoo, adjacentes |
Fait (findReproductionPairs, blocksAreAdjacent) |
| Délai (score repro, biome, température) |
Fait (tickReproduction, timers, dueAt) |
| Bébé → nurserie ou vente (saleListings) |
Fait (addPendingBaby, NoFreeNursery → saleListings) |
Phase 7 – Score de reproduction du zoo
| Livrable |
Statut |
| getReproductionScore (birthCount, feedingRate) |
Fait |
| Affichage carte monde (score repro) |
Fait (world-map-zoo-reproduction-score) |
| reproductionScoreAtSale sur vente |
Fait (reproduction.js lors du push saleListings) |
Phase 8 – Attractivité et visiteurs
| Livrable |
Statut |
| Billeterie = seule entrée, cap 20/unité |
Fait (getBilleterieCapacity, tickVisitorArrivals) |
| Durée max 1 journée par visiteur |
Fait (visitorArrivals, arrivedAt, getStayDurationSeconds) |
| Prolongation boutiques / diversité |
Fait (getStayMultiplier, StayMultiplierPerShopLevel, StayMultiplierPerSpecies) |
| Score attractivité (valeur, espèces, rareté, remplissage, pénalités, bonus) |
Fait (getAttractivityScore) |
| Affichage carte monde (score attractivité) |
Fait (world-map-zoo-attractivity-score) |
Phase 9 – Carte du monde : recherche et compteurs
| Livrable |
Statut |
| Agrandissement carte en unités de recherche |
Fait (getWorldMapUpgradeResearchCost, tryUpgradeWorldMap) |
| Compteurs (bébés à vendre, animaux à vendre, labos, zoos, villes) |
Fait (worldMapCounters dans ui.js) |
| Case zoo : nom, score attractivité, score reproduction |
Fait (world-map-zoo-name, -reproduction-score, -attractivity-score) |
| Case de vente sous le zoo |
Partiel |
Blocant phase 10 : Non. Le slot existe ; phase 10 ajoute l’affichage des ventes (saleListings) et les enchères.
Synthèse pour la phase 10
- Prérequis phase 10 (4, 6, 7, 9) : Tous satisfaits au niveau nécessaire.
- Manques non bloquants :
- Phase 0/4 : modèle œuf encore présent (conveyor, labo) ; phase 10 peut s’appuyer sur saleListings et bébés/animaux tels qu’ils sont.
- Phase 5 : certaines causes de mort (seul, autre zoo, recherche trop basse, bébé non vendu) non implémentées ; « bébé invendu meurt » sera ajouté en phase 10.
- Phase 9 : case de vente = slot actuel ; phase 10 y branchera les saleListings et l’UI d’enchères.
Conclusion : On peut démarrer la phase 10 (Ventes et enchères). Les écarts listés ci-dessus pourront être traités en parallèle ou dans les phases suivantes.