# 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 | Un slot « world-map-zoo-slot » existe ; il affiche conveyor offers (œufs / bébé/animal) ; phase 10 doit y afficher saleListings + enchères | **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.