# Spécifications : Achat et Upgrade des Cases ## Construction - Sur une case vide de type "Terrain", le joueur peut acheter un bâtiment. - Le coût dépend du type de bâtiment. - **Pré-requis** : Certaines cases peuvent nécessiter un déblayage (rochers, arbres) avant construction. ## Types Constructibles - Nurserie - Boutique - (Les autres bâtiments comme Billeterie/Recherche sont souvent uniques et upgradables, mais on peut imaginer en construire d'autres si le design le permet). ## Upgrade de Case (Terrain) - **Changement de Milieu (Terraforming)** : Payer pour changer la couleur (Biome) d'une case. - **Changement de Température** : Payer pour installer un régulateur thermique sur une case (invisible ou petit objet technique). # Annexes Techniques ## 1. Données et États ### Modèle de Données (Modification Case) ```json { "tile_id": "x_y_coords", "action": "terraform", "target_biome": "savanna", "cost": 500, "duration_ms": 2000 } ``` Voir `case_zoo.md` et `achat_upgrade_generique.md`. ## 7. Progression ### Tableau des Upgrades **Changement de Milieu** : | Niveau | Coût | Précision | Temps | | :--- | :--- | :--- | :--- | | 1 | 500 | Changement vers biome adjacent uniquement | 5s | | 7 | 5000 | Changement vers n'importe quel biome (Terraformation avancée) | 2s | **Régulateur Thermique** : | Niveau | Coût | Plage Réglage | Temps | | :--- | :--- | :--- | :--- | | 1 | 200 | +/- 5°C | 0s | | 7 | 2000 | +/- 50°C | 0s | ## 8. Logique et Interfaces ### Algorithme de Terraformation ```python def terraform_tile(tile, target_biome, player): # Vérifier adjacence (si niveau bas) if player.terraform_level < 7: neighbors = get_neighbors(tile) if target_biome not in [n.biome for n in neighbors]: return error("BIOME_NOT_ADJACENT", "Vous devez étendre un biome existant.") if player.money < get_terraform_cost(target_biome): return error("NO_MONEY") player.money -= get_terraform_cost(target_biome) tile.biome = target_biome update_visuals(tile) check_animal_compatibility(tile) # Alerte si un animal est dessus return success() ``` # 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) ### Modification Terrain (Action) **Description UX** : Le joueur sélectionne une case et choisit "Modifier Biome" ou "Température". **Description UI** : Palette de couleurs (Biomes) ou Slider (Température). **Mode Peinture** : Permet de glisser le doigt pour appliquer le biome/température à plusieurs cases adjacentes rapidement. **Emplacement** : Menu Contextuel Case. **Intégration** : Outil pinceau ou slider. **Navigation** : Clic Case -> Outil -> Appliquer. **Événements** : `TERRAFORM_CASE`. #### Assets - **Musiques** : Jingle "Travaux Publics" (bruits de chantier rythmés). - **Sons** : `digging.mp3` (Biome), `hissing_gas.mp3` (Température). - **Graphiques** : Icône Pelle, Thermomètre. - **Images** : Textures sol (Herbe, Sable, Neige). - **Vidéos** : Animation de transition de biome (morphing de texture). - **Animations** : Transition de couleur (Fade) sur la case. - **Couleurs** : Vert, Jaune, Blanc. - **Textes** : "Coût : X". - **Formes** : Curseur Pinceau. ### Vue Isométrique - **Grid Overlay** : Lors de l'édition, afficher la grille en surbrillance pour bien délimiter les cases. - **Feedback Visuel** : La case "saute" légèrement ou émet de la poussière lors du changement de biome. - **Bords** : Gérer les transitions douces (blends) entre deux cases de biomes différents pour éviter l'effet damier trop strict (sauf si style voxel strict).