# Spécifications : Case (Générique) ## Définition Une case est l'unité élémentaire de la grille (Zoo ou Monde). ## Propriétés - **Coordonnées** : Position (x, y) dans la grille. - **Couleur (Milieu)** : Définit le biome et l'environnement visuel. - **Température** : Liée à la couleur/biome. - **Contenu** : Peut contenir un bâtiment, un animal, un visiteur, ou être vide. - **État** : Peut avoir des indicateurs visuels (herbe jaunie, givre). ## Règles - Les transitions de propriétés (couleur, température) entre cases adjacentes doivent être douces. # Annexes Techniques ## 1. Données et États ### Modèle de Données (JSON) ```json { "x": "integer", "y": "integer", "biome_id": "integer", "temperature_offset": "float", "content_ref": "uuid | null", "content_type": "string", "state_flags": ["frozen", "dry", "dirty"] } ``` ### Caractéristiques Initiales **Vide** : État par défaut. ### Scores Initiaux **Usure** : 0% (Neuf). ## 2. Cycles de Vie et Apparition ### Conditions d'Apparition Génération carte. ### Conditions de Disparition **Destruction** : Si la case fait partie d'une extension de zoo vendue/annulée (rare). ### Hérédité **Mémoire** : Une case se "souvient" de son biome d'origine si on détruit le bâtiment dessus. ## 3. Impacts Environnementaux ### Impact Température `Température_Réelle = Température_Biome + Température_Offset + Saison_Mod` ### Impact Milieu (Biome) Définit la couleur de fond. ### Impact Saisons **Esthétique** : Changement de palette (Vert -> Orange -> Blanc). ### Impact Heure / Jour-Nuit **Lumière** : Assombrissement global (Overlay nuit). ## 4. Impacts Biologiques et Sociaux ### Impact Reproduction **Support** : Lieu physique de l'acte. ### Impact Mort **Support** : Lieu physique du décès. ### Impact Nourriture **Support** : Lieu de dépôt de la nourriture. ### Impact Attractivité (Visiteurs/Animaux) **Propreté** : Une case sale réduit l'attractivité locale. ### Impact Valeur **Immobilier** : Valeur intrinsèque du terrain. ## 5. Impacts Logistiques et Économiques ### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite) **Terrain** : Modificateur de vitesse de déplacement (Boue, Sable). ### Dépenses (Boutiques/Visiteurs) **Entretien** : Coût de maintenance du sol. ### Trajet Visiteurs **Noeud** : Point de passage pour le pathfinding. ## 6. Événements ### Événements du Jeu / Carte / Zoo / Ville / Visiteur * **Clic** : Interaction joueur. ## 7. Progression ### Tableau des Upgrades Voir `achat_upgrade_case.md`. ## 8. Logique et Interfaces ### Pseudo-code Impacts ```javascript function getCaseState(case): return { temp: calculateTemp(case), biome: case.biome, isWalkable: !hasBuilding(case) } ``` ### Messages d'Infos / Alerte | ID | Niveau | Message | | :--- | :--- | :--- | | `CASE_ERROR` | Erreur | "Impossible d'accéder à cette case." | # Annexes UX/UI ## 1. Expérience Utilisateur (UX) ### Feedback État (Passif) **Description UX** : La case montre son état physique. **Description UI** : Overlay de texture (Givre, Craquelures, Boue). **Emplacement** : Case. **Intégration** : Layer 1 (Au-dessus du fond, sous le contenu). **Navigation** : Automatique (Mise à jour visuelle). **Événements** : `STATE_UPDATE`. #### Assets - **Musiques** : Son d'ambiance très léger (vent). - **Sons** : Bruit de pas (selon texture). - **Graphiques** : Textures alpha (Givre blanc, Craquelures marron). - **Images** : Pattern Sol. - **Vidéos** : Effet de givre qui s'étend. - **Animations** : Apparition progressive (Fade). - **Couleurs** : Blanc, Marron, Gris. - **Textes** : "Gelé", "Sec". - **Formes** : Carré.