**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
3.5 KiB
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.