# Spécifications : Carte du Zoo ## Définition La carte du zoo est l'espace principal de gestion du joueur où il place ses bâtiments et ses animaux. ## Structure - **Grille** : Composée de cases individuelles. - **Biomes** : Divisée en tiers de largeur : - Gauche : Prairie - Milieu : Océan - Droite : Montagne - **Dégradés** : Couleurs et températures varient doucement au sein des biomes. ## Contenu Initial (Lancement) - 1 Case Agrandissement du zoo (+1 case, payant) - 1 Case Recherche (Coin haut gauche) - 1 Case Billeterie (Coin haut gauche) - 1 Case Nurserie (Coin haut gauche) - 1 Case Accueil nouveaux animaux (Coin haut gauche) - 1 Case Nourriture générale (Coin haut gauche) - 1 Case Camion (Coin haut gauche) - 24 Cases de terrain (3 couleurs différentes réparties selon les biomes) ## Mécaniques - **Placement** : Le joueur peut placer des œufs, des animaux et des bâtiments sur les cases vides. - **Déplacement** : Glisser-déposer pour réorganiser. - **Visiteurs** : Les visiteurs se déplacent sur la grille. - **Feedbacks** : L'état du terrain (herbe jaunie, givre) reflète l'adéquation avec les animaux. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "id": "uuid", "owner_id": "uuid", "width": "integer (init 5)", "height": "integer (init 6)", "cases": [ ... ] } ``` ### Caractéristiques Initiales | Caractéristique | Valeur Initiale | | :--- | :--- | | Taille | 30 cases (5x6 approx) | | Biomes | 3 (Tiers) | ### Scores Initiaux **Score Aménagement** : 0/100 (Utilisation de l'espace). ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Création du compte joueur. ### Conditions de Disparition **Reset Joueur** : Suppression du compte ou Faillite totale. ### Hérédité **Fondations** : Les extensions de terrain achetées sont conservées en cas de "Soft Reset" (Prestige). ## 3. Impacts Environnementaux ### Impact Température **Micro-climats** : Les cases adjacentes à l'Océan sont plus fraîches (-2°C). Celles en Montagne sont plus froides (-5°C). ### Impact Milieu (Biome) **Bonus Synergie** : Placer 4 cases de même biome en carré crée un "Super Biome" (+10% efficacité). ### Impact Saisons **Décor** : Les arbres (décoration) changent de couleur (Vert -> Orange -> Blanc -> Bourgeons). ### Impact Heure / Jour-Nuit **Lumières** : Les lampadaires et bâtiments s'allument la nuit (Ambiance). ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction **Intimité** : Les buissons (décoration) placés autour d'un enclos augmentent la fertilité (+5%). ### Impact Mort **Compost** : Un animal mort fertilise le sol. L'herbe devient plus verte sur cette case après disparition du corps. ### Impact Nourriture **Pousse** : L'herbe (nourriture gratuite) repousse lentement sur les cases Prairie vides. ### Impact Attractivité (Visiteurs/Animaux) **Beauté** : +1 Attractivité par élément de décoration (Arbre, Banc, Fontaine). ### Impact Valeur **Foncier** : Chaque case achetée augmente la valeur théorique du zoo. ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Chemins** : Augmentent la vitesse de déplacement des visiteurs (+50%). ### Dépenses (Boutiques/Visiteurs) **Entretien Espaces Verts** : Coût hebdomadaire pour garder le zoo propre (1 pièce/case). ### Trajet Visiteurs Support du pathfinding (A* sur la grille). Les visiteurs évitent les obstacles (Rochers, Eau profonde). ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Agrandissement** : Ajout d'une colonne/ligne ou case adjacente. * **Catastrophe** : Inondation (Océan déborde) ou Éboulement (Montagne). ## 7. Progression ### Tableau des Upgrades Voir `achat_upgrade_case_zoo.md`. ## 8. Logique et Interfaces ### Pseudo-code Impacts ```javascript function initZooMap(): width = 6 height = 5 for x in 0..width: for y in 0..height: biome = getBiomeByColumn(x, width) createCase(x, y, biome) ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `MAP_EXPAND` | Succès | "Le zoo s'agrandit ! Nouvelles terres disponibles." | # Annexes UX/UI ## 1. Expérience Utilisateur (UX) ### Interaction Grille (Action) **Description UX** : Le joueur clique sur une case pour voir son contenu ou construire. **Description UI** : Surbrillance de la case au survol. Clic ouvre un **Panneau Latéral (Bottom Sheet)** non bloquant (Info/Construire). **Emplacement** : Grille. **Intégration** : Curseur. **Navigation** : Clic -> Menu. **Événements** : `CLICK_CASE`. #### Assets - **Musiques** : Son "Pop" discret. - **Sons** : `click_tile.mp3`. - **Graphiques** : Cadre de sélection blanc/brillant. - **Vidéos** : Effet de "Pop" au clic. - **Animations** : Pulsation du cadre. - **Couleurs** : Blanc. - **Textes** : Nom de l'objet sélectionné. - **Formes** : Carré. ### Mode Construction (Action) **Description UX** : Le joueur place un bâtiment ou modifie le terrain. **Description UI** : Grille visible. Cases valides en vert, invalides en rouge. **Mode Peinture** : Le joueur peut glisser son doigt (Drag) pour construire/modifier plusieurs cases d'affilée (ex: peindre un biome ou poser une route). **Alternative Accessibilité** : Tap to Select (Bâtiment) -> Tap to Place (Case) pour éviter le Drag & Drop. **Emplacement** : Grille. **Intégration** : Overlay. **Navigation** : Drag -> Drop. **Événements** : `ENTER_BUILD_MODE`. #### Assets - **Musiques** : Musique "Mode Édition" (calme, boucle). - **Sons** : `grid_snap.mp3`. - **Graphiques** : Grille semi-transparente. - **Vidéos** : Effet de grille holographique. - **Animations** : Snap to grid. - **Couleurs** : Vert/Rouge (Alpha 0.5). - **Textes** : "Placer ici". - **Formes** : Carrés.