Files
builazoo/docs/specs/achat_upgrade_case_zoo.md
Nicolas Cantu 5143a79890 docs: enrich docs/specs and remove placeholders
**Motivations:**
- Make docs/specs implementation-ready without empty sections or placeholders.

**Root causes:**
- Multiple specs still contained non-actionable placeholders (N/A, “see above”, "..."), and inconsistent “no cache” wording.

**Correctifs:**
- Replace placeholders with explicit tables, structures, and typed examples.
- Align “no cache / no memorization” statements where relevant.

**Evolutions:**
- Add a features doc entry to track the documentation enrichment effort.

**Pages affectées:**
- docs/specs/*
- docs/features/docs-specs-enrichment.md
- docs/leo.md
- docs/plan-enrich-docs-specs.md
2026-03-05 03:08:15 +01:00

3.5 KiB

Spécifications : Achat et Upgrade des Cases du Zoo (Agrandissement)

Agrandissement du Zoo

  • Action : Acheter une nouvelle parcelle de terrain adjacente à la grille existante.
  • Coût : Très élevé, progressif selon la taille actuelle du zoo.
  • Contenu : La nouvelle case arrive avec un biome par défaut (selon sa position géographique Prairie/Océan/Montagne) et vide.
  • Contraintes : Limité par la taille de la carte globale ("Monde" ou "Région").

Annexes Techniques

1. Données et États

Modèle de Données (JSON)

Action sur l'objet Zoo (dimensions).

{
  "zoo_id": "uuid",
  "dimensions": { "width": 5, "height": 6 },
  "expansion_history": [
    { "direction": "EAST", "cost": 1000, "timestamp": "timestamp" }
  ],
  "max_dimensions": { "width": 20, "height": 20 }
}

Caractéristiques Initiales

Taille Initiale : 5x6 cases (30 cases).

7. Progression

Tableau des Upgrades (Agrandissement)

Extension Coût (Pièces) Gain
+1 Colonne (Est) 1000 +Hauteur cases (6)
+1 Ligne (Sud) 1000 +Largeur cases (5)
+1 Colonne (Ouest) 2000 +Hauteur cases
+1 Ligne (Nord) 2000 +Largeur cases
+1 Colonne (Est 2) 5000 +Hauteur cases
+1 Ligne (Sud 2) 5000 +Largeur cases

8. Logique et Interfaces

Algorithme d'Expansion

def expand_zoo(zoo, direction, player):
    cost = calculate_expansion_cost(zoo, direction)
    
    if player.money < cost:
        return error("INSUFFICIENT_FUNDS")
        
    if reaches_world_limit(zoo, direction):
        return error("WORLD_LIMIT_REACHED")
        
    player.money -= cost
    
    # Mise à jour de la grille
    new_cells = generate_new_strip(direction, zoo.dimensions)
    zoo.grid.merge(new_cells)
    zoo.update_dimensions(direction)
    
    return success("ZOO_EXPANDED")

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)

Achat Parcelle (Action)

Description UX : Le joueur clique sur une zone "Hors Limites" adjacente pour l'acheter. Description UI : Zone grisée ou avec panneau "À Vendre". Au survol, prix affiché. Emplacement : Bords de la Carte Zoo. Intégration : Grille étendue. Navigation : Clic Zone Grisée -> Confirmer Achat. Événements : EXPAND_ZOO.

Assets

  • Musiques : Son "Vent dans les plaines" lors du survol.
  • Sons : land_buy.mp3.
  • Graphiques : Panneau "For Sale".
  • Images : Texture herbe (cachée par brouillard).
  • Vidéos : Timelapse accéléré de la construction des clôtures (2s).
  • Animations : Brouillard se dissipe, herbe apparaît.
  • Couleurs : Gris (Inaccessible) -> Vert (Accessible).
  • Textes : "Acheter Terrain (X Pièces)".
  • Formes : Carré.

Vue Isométrique

  • Brouillard de Guerre : Les zones non achetées sont couvertes par des nuages ou un brouillard semi-transparent.
  • Dévoilement : Lors de l'achat, les nuages se dissipent (fade out + scale up) pour révéler le nouveau terrain.
  • Clôtures : Les clôtures délimitant le zoo se déplacent automatiquement vers la nouvelle limite.