# Spécifications : Nurserie ## Définition Bâtiment dédié à l'éclosion des œufs et à la croissance des bébés animaux. ## Fonctionnalités - **Éclosion** : Lieu où les œufs achetés sont placés pour éclore. - **Croissance** : Permet aux bébés de grandir en sécurité. - **Stockage** : Zone tampon avant placement dans le zoo. ## Niveaux d'Amélioration (7 niveaux) - **Coût** : Progressif par palier. - **Effet** : Accélère le temps d'éclosion/croissance. Améliore la qualité des reproducteurs (bonus génétique). - **Ratio** : 1 unité permet de faire grandir 1 bébé maximum à la fois. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "id": "uuid", "type": "nurserie", "level": "integer (1-7)", "slots": [ { "slot_id": 1, "content": "egg_uuid | baby_uuid | null", "timer_end": "timestamp" } ] } ``` ### Caractéristiques Initiales | Caractéristique | Valeur Initiale (Niv 1) | | :--- | :--- | | Slots | 1 | | Vitesse Éclosion | x1.0 | | Protection T° | +/- 2°C tolérance | ### Scores Initiaux N/A ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Construction par joueur ou présent au début. ### Conditions de Disparition Destruction par joueur (si vide). ### Hérédité **Bonus Génétique** : Niveau 5+ donne +5% chance rareté supérieure à l'éclosion. ## 3. Impacts Environnementaux ### Impact Température La nurserie régule la température interne. | Niveau | Régulation | | :--- | :--- | | 1 | +/- 2°C | | 7 | +/- 10°C (Climatisation parfaite) | ### Impact Milieu (Biome) N/A ### Impact Saisons Protège des effets négatifs des saisons (Hiver/Été). ### Impact Heure / Jour-Nuit Fonctionne 24h/24. ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction N/A (Lieu de résultat de la reproduction). ### Impact Mort Réduit drastiquement la mortalité infantile (Santé ne baisse pas sauf si Faim extrême). ### Impact Nourriture Les bébés sont nourris automatiquement si stock nourriture global > 0. ### Impact Attractivité (Visiteurs/Animaux) N/A (Les visiteurs ne voient pas l'intérieur). ### Impact Valeur N/A ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Vitesse Éclosion/Croissance** : | Niveau | Multiplicateur Vitesse | | :--- | :--- | | 1 | x1.0 | | 2 | x1.2 | | 3 | x1.5 | | 4 | x2.0 | | 5 | x3.0 | | 6 | x5.0 | | 7 | x10.0 | ### Dépenses (Boutiques/Visiteurs) N/A ### Trajet Visiteurs N/A ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Éclosion** : Œuf -> Bébé. * **Maturité** : Bébé -> Adulte (prêt à sortir). ## 7. Progression ### Tableau des Upgrades | Niveau | Coût (Pièces) | Slots | Vitesse | Temps Construction | | :--- | :--- | :--- | :--- | :--- | | 1 | 100 | 1 | x1.0 | 0s | | 2 | 200 | 2 | x1.2 | 0s | | 3 | 400 | 3 | x1.5 | 0s | | 4 | 800 | 4 | x2.0 | 0s | | 5 | 1600 | 5 | x3.0 | 0s | | 6 | 3200 | 6 | x5.0 | 0s | | 7 | 6400 | 7 | x10.0 | 0s | ## 8. Logique et Interfaces ### Pseudo-code Impacts ``` function updateNurserie(nurserie): for slot in nurserie.slots: if slot.content is Egg: slot.timer -= baseTime * nurserie.speedMultiplier if slot.timer <= 0: hatchEgg(slot.content) ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `EGG_HATCHED` | Info | "Un œuf a éclos en Nurserie !" | | `NURSERIE_FULL` | Warning | "Nurserie pleine, impossible d'acheter/reproduire." | # Annexes UX/UI ## 1. Expérience Utilisateur (UX) ### Gestion des Slots (Consultation) **Description UX** : Le joueur clique sur la nurserie pour voir l'état de ses œufs et bébés. **Description UI** : **Bottom Sheet** avec une grille de slots (1 à 7 selon niveau). Chaque slot affiche l'icône de l'œuf/bébé, une barre de progression (éclosion/croissance) et un timer restant. **Emplacement** : Case Nurserie. **Intégration** : Modal centrée. **Navigation** : Clic Nurserie -> Modal -> Clic Slot (Action) ou Fermer. **Événements** : `OPEN_NURSERIE`. #### Assets - **Musiques** : N/A - **Sons** : `ui_open.mp3` - **Graphiques** : Style "Couveuse" ou "Nid douillet". - **Images** : `egg_[rarity].png`, `baby_[species].png`. - **Vidéos** : N/A - **Animations** : Œuf qui tremble légèrement quand proche éclosion. - **Couleurs** : Tons pastels (rose, bleu clair, jaune paille). - **Textes** : "Slot X", "Temps restant : MM:SS". - **Formes** : Cases de grille arrondies. ### Placement d'un Œuf **Description UX** : Après achat ou reproduction, l'œuf va automatiquement dans un slot vide. Si plein, notification d'erreur. **Description UI** : Animation de l'œuf "volant" vers la nurserie (si visible) ou simple apparition dans le slot. **Emplacement** : HUD -> Nurserie. **Intégration** : Automatique. **Navigation** : N/A **Événements** : `EGG_ADDED`. #### Assets - **Musiques** : N/A - **Sons** : `pop_soft.mp3` - **Graphiques** : N/A - **Images** : N/A - **Vidéos** : N/A - **Animations** : Fade in + Scale up de l'œuf dans le slot. - **Couleurs** : N/A - **Textes** : N/A - **Formes** : N/A ### Éclosion (Action) **Description UX** : Quand le timer est fini, l'œuf se fissure. Le joueur clique pour "ouvrir" l'œuf et découvrir le bébé. **Description UI** : Le slot brille ou clignote. Au clic, animation d'éclosion et popup "Nouveau Bébé !" avec ses stats. **Emplacement** : Modal Nurserie. **Intégration** : Bloque le slot jusqu'à validation. **Navigation** : Clic Œuf éclos -> Popup Récompense -> Retour Modal. **Événements** : `HATCH_CLICK`. #### Assets - **Musiques** : Jingle court "Victoire/Naissance". - **Sons** : `crack_egg.mp3`, `baby_cry.mp3`. - **Graphiques** : Coquilles brisées. - **Images** : Sprite bébé. - **Vidéos** : N/A - **Animations** : Séquence d'éclosion (3 frames). - **Couleurs** : Rayons dorés/blancs. - **Textes** : "C'est un [Espèce] [Rareté] !". - **Formes** : Étoile ou Cercle rayonnant. ### Sortie de Nurserie (Placement) **Description UX** : Le bébé est mature (ou le joueur veut le sortir). Drag & drop du slot vers une case du zoo. **Description UI** : Le curseur devient le sprite du bébé/animal. Les cases valides s'illuminent en vert, invalides en rouge. **Alternative** : Sélectionner le bébé -> Cliquer sur la case cible (Tap to Place). **Emplacement** : Modal Nurserie -> Carte Zoo. **Intégration** : Ferme la modal et passe en mode placement. **Navigation** : Drag Slot -> Drop Carte. **Événements** : `DRAG_START`, `DRAG_DROP`. #### Assets - **Musiques** : N/A - **Sons** : `pickup.mp3`, `place_ok.mp3` / `place_error.mp3`. - **Graphiques** : Grille de placement overlay. - **Images** : Sprite fantôme (translucide) sous le curseur. - **Vidéos** : N/A - **Animations** : N/A - **Couleurs** : Vert #00FF00 (OK), Rouge #FF0000 (KO). - **Textes** : Tooltip "Placer ici". - **Formes** : N/A