# Enclos ## 1. Définition Espace délimité destiné à accueillir une ou plusieurs espèces animales. L'enclos est constitué de cases de terrain modifiées pour répondre aux besoins des animaux (biome, végétation, eau). Une caractéristique clé est la fusion automatique des cases adjacentes contenant le même animal pour former un grand enclos unique. ## 2. Fonctions * **Hébergement :** Lieu de vie des animaux. * **Fusion (Merge) :** Si deux cases "Enclos [Animal X]" sont posées côte à côte, les barrières internes disparaissent pour créer un espace commun. * **Visibilité :** Permet aux visiteurs d'observer les animaux (augmente l'attractivité). * **Sécurité :** Empêche les animaux de s'enfuir (si entretenu). ## 3. Icone * **Représentation :** Barrière en bois ou Grillage. * **Couleur dominante :** Marron et Vert. ## 4. Interactions * **Construction :** Outil "Enclos" -> Sélection de l'animal -> Clic sur la carte (glisser pour zone). * **Gestion :** Clic sur n'importe quelle case de l'enclos fusionné ouvre le menu global de cet enclos. * **Modification :** Ajouter/Retirer des cases, changer le type de barrière. ## 5. Annexes Techniques ### Données (JSON) ```json { "enclosure_id": "enclosure_lions_01", "animal_type": "lion", "cells": [ {"x": 10, "y": 10}, {"x": 10, "y": 11}, {"x": 11, "y": 10}, {"x": 11, "y": 11} ], "area": 4, "capacity": 6, // Capacité totale calculée (ex: 1.5 animaux par case) "current_population": 3, "cleanliness": 85, "fence_health": 100 } ``` ### Règles Métier * **Adjacence :** La fusion se fait horizontalement et verticalement (pas en diagonale seule). * **Cohérence :** Impossible de fusionner deux enclos d'espèces différentes (message d'erreur ou création de deux enclos séparés par une barrière). * **Taille Minimum :** Certains animaux nécessitent un enclos de X cases minimum pour être heureux. * **Affichage Animal :** Les animaux apparaissent "en petit" à l'intérieur de l'enclos, se déplaçant librement dans l'espace fusionné. ## 6. Annexes UX/UI * **Visuel Barrières :** Génération procédurale des barrières uniquement sur le pourtour de l'ensemble des cases fusionnées (algorithme de "blob" ou "marching squares"). * **Affiche :** Une affiche descriptive de l'animal est placée automatiquement sur une portion horizontale de la clôture (voir `affiche_enclos.md`). * **Isométrique :** Les barrières doivent avoir une hauteur et une profondeur en vue isométrique.