# Spécifications : Milieu (Biome/Couleur)

## Définition
Le milieu représente l'environnement écologique d'une case, défini par sa couleur.

## Types de Milieux
- **Prairie** (Tiers Gauche)
- **Océan** (Tiers Milieu)
- **Montagne** (Tiers Droite)
- *Note : D'autres milieux (Forêt, Désert, Savane, Jungle, Marécage, Toundra, Volcanique) peuvent être définis par des couleurs intermédiaires.*

## Impact
- **Survie** : Chaque animal a un milieu de prédilection. Un écart trop important entre la couleur de la case et la couleur idéale de l'animal entraîne stress, maladie et mort.
- **Reproduction** : Un milieu idéal favorise la reproduction (bonus de score).
- **Visuel** : Le fond de la case affiche la couleur du milieu.

# Annexes Techniques

## 1. Données et États
### Modèle de Données (JSON)
```json
{
  "id": "integer (0-14)",
  "name": "string",
  "color_hex": "string (#RRGGBB)",
  "default_temperature": "float",
  "fertility_bonus": "float",
  "iso_x": "integer",
  "iso_y": "integer",
  "z_index": "integer"
}
```

### Caractéristiques Initiales
| ID | Nom | Couleur | T° Base |
| :--- | :--- | :--- | :--- |
| 0 | Prairie Tendre | #90EE90 | 20°C |
| 5 | Océan Surface | #00BFFF | 15°C |
| 9 | Montagne Basse | #A9A9A9 | 5°C |

### Scores Initiaux
**Dominance Biome** : % de la surface du zoo (ex: 30% Prairie).

## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
Génération carte (fixe).

### Conditions de Disparition
**Terraformation** : Remplacement par un autre biome via upgrade.

### Hérédité
**Maîtrise** : Bonus de fertilité (+5%) sur les biomes maîtrisés dans une partie précédente.

## 3. Impacts Environnementaux
### Impact Température
Le milieu définit la température de base de la case (avant modificateurs saison/upgrade).

### Impact Milieu (Biome)
Référence pour la compatibilité animale.

### Impact Saisons
| Milieu | Sensibilité Saisons |
| :--- | :--- |
| Océan | Faible (Inertie thermique) |
| Montagne | Forte (Neige en hiver) |
| Prairie | Moyenne |

### Impact Heure / Jour-Nuit
**Bioluminescence** : Certains biomes (Océan profond, Forêt magique) brillent la nuit.

## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Bonus** : +10% fertilité si animal sur son biome exact.

### Impact Mort
**Décomposition** : Rapide en Jungle (Chaud/Humide), Lente en Toundra (Froid).

### Impact Nourriture
**Ressources** : La Jungle produit des fruits (1/jour), la Savane de l'herbe (1/jour). Le Désert ne produit rien.

### Impact Attractivité (Visiteurs/Animaux)
**Esthétique** : Un zoo avec des biomes variés est plus attractif (+5% par biome différent utilisé).

### Impact Valeur
**Coût Terrain** : Le Désert est moins cher à l'achat que la Prairie (Terres arides).

## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Terrain difficile** : Sable et Neige ralentissent les visiteurs (-30%).

### Dépenses (Boutiques/Visiteurs)
**Arrosage** : Coût élevé en Désert pour maintenir des plantes.

### Trajet Visiteurs
**Vue** : Les visiteurs aiment les panoramas (Montagne = Point de vue).

## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
*   **Floraison** : Le biome Prairie devient fleuri au printemps (+Attractivité).

## 7. Progression
### Tableau des Upgrades
**Changement de Milieu** :
| Niveau | Coût | Précision | Temps |
| :--- | :--- | :--- | :--- |
| 1 | 500 | Changement vers biome adjacent | 0s |
| 7 | 5000 | Changement vers n'importe quel biome | 0s |

## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function checkBiomeCompatibility(animal, tile):
  if animal.idealBiome == tile.biome:
    return "PERFECT"
  elif isAdjacent(animal.idealBiome, tile.biome):
    return "OK"
  else:
    return "BAD"
```

### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `BIOME_CHANGE` | Succès | "Le biome de la case a été modifié." |

# Annexes UX/UI

## 0. Direction Artistique & Vue
*   **Vue** : Isométrique (2.5D).
*   **Style** : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
*   **Sprites** : 4 directions.
*   **Interactions** :
    *   **Sélection** : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
    *   **Feedback** : Surbrillance (outline blanc/jaune) au survol de la souris.


## 1. Expérience Utilisateur (UX)
### Identification Visuelle (Passif)
**Description UX** : Le joueur identifie le biome à la couleur du sol.
**Description UI** : Textures distinctes (Herbe, Sable, Roche, Eau). Transitions douces (dégradés) entre les cases adjacentes.
**Textures** : Motifs discrets (brins d'herbe, cailloux, craquelures) superposés à la couleur pour l'accessibilité (daltonisme).
**Emplacement** : Fond de Case.
**Intégration** : Layer 0 (Background).
**Navigation** : Survol Souris / Toucher Long.
**Événements** : `MAP_RENDER`.

#### Assets
- **Musiques** : Ambiance sonore changeante selon biome survolé (Vent, Vagues, Forêt).
- **Sons** : Bruit de pas spécifique (Craquement, Sable, Herbe).
- **Graphiques** : Tilesets (15 variations de couleur/texture).
- **Images** : Vignettes de biomes pour l'éditeur.
- **Vidéos** : Fond animé de l'eau (shader).
- **Animations** : Eau qui ondule (Océan), Herbe qui bouge (Prairie).
- **Couleurs** : Palette 15 couleurs (Cercle chromatique).
- **Textes** : Tooltip "Biome : Prairie".
- **Formes** : Carré.

### Feedback Incompatibilité (Passif)
**Description UX** : Un animal est sur le mauvais biome.
**Description UI** : L'herbe sous l'animal jaunit ou devient boueuse. L'animal a une bulle "Beurk".
**Emplacement** : Case Zoo.
**Intégration** : Overlay Case.
**Navigation** : Auto (Détection).
**Événements** : `BIOME_MISMATCH`.

#### Assets
- **Musiques** : Son "Malaise" (basse fréquence).
- **Sons** : Bruit de dégoût "Yuck".
- **Graphiques** : Overlay "Sol Mort".
- **Images** : Icône "Sol incompatible" (Sens interdit).
- **Vidéos** : Effet de flétrissement (shader).
- **Animations** : Transition lente vers le jaune/marron.
- **Couleurs** : Jaune paille, Marron.
- **Textes** : "Sol Inadapté !".
- **Formes** : Croix rouge sur le sol.
