# 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 N/A ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Création du compte joueur. ### Conditions de Disparition N/A ### Hérédité N/A ## 3. Impacts Environnementaux ### Impact Température N/A (Géré par case) ### Impact Milieu (Biome) N/A (Géré par case) ### Impact Saisons N/A ### Impact Heure / Jour-Nuit N/A ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction N/A ### Impact Mort N/A ### Impact Nourriture N/A ### Impact Attractivité (Visiteurs/Animaux) N/A ### Impact Valeur N/A ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) N/A ### Dépenses (Boutiques/Visiteurs) N/A ### Trajet Visiteurs Support du pathfinding (A* sur la grille). ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Agrandissement** : Ajout d'une colonne/ligne ou case adjacente. ## 7. Progression ### Tableau des Upgrades Voir `achat_upgrade_case_zoo.md`. ## 8. Logique et Interfaces ### Pseudo-code Impacts ``` 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 N/A # 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** : N/A - **Sons** : `click_tile.mp3`. - **Graphiques** : Cadre de sélection blanc/brillant. - **Images** : N/A - **Vidéos** : N/A - **Animations** : Pulsation du cadre. - **Couleurs** : Blanc. - **Textes** : N/A - **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** : N/A - **Sons** : `grid_snap.mp3`. - **Graphiques** : Grille semi-transparente. - **Images** : N/A - **Vidéos** : N/A - **Animations** : Snap to grid. - **Couleurs** : Vert/Rouge (Alpha 0.5). - **Textes** : N/A - **Formes** : Carrés.