Files
builazoo/docs/specs/vente_animal.md
Nicolas Cantu e92c1355d0 Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:**
- Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253).
- Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions).

**Root causes:**
- Besoin de cohérence visuelle et technique sur l'ensemble du projet.

**Correctifs:**
- N/A

**Evolutions:**
- Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers.
- Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`).
- Précision des interactions (clic, survol) adaptées à la grille losange.
- Conservation stricte de la structure existante (aucun titre supprimé).

**Pages affectées:**
- docs/specs/*
2026-03-05 02:10:32 +01:00

136 lines
4.5 KiB
Markdown

# Spécifications : Ventes d'Animaux (Général)
## Types de Ventes
- **Aux Enchères** : Vers d'autres joueurs (prix potentiellement élevé).
- **Libération (Vente rapide)** : Vente au "système" (prix bas fixe) pour faire de la place rapidement (si implémenté pour éviter la mort). *Note : Le cahier des charges privilégie le marché joueurs, la libération est une option de secours.*
## Contraintes
- Un animal malade ou mourant ne peut pas être mis en vente.
- Le transport (Camion) immobilise l'animal pendant la durée de la vente.
# Annexes Techniques
## 1. Données et États
### Modèle de Données (JSON)
N/A
### Caractéristiques Initiales
**Total Vendu** : 0 animaux.
### Scores Initiaux
**Réputation Vendeur** : Neutre (0).
## 2. Cycles de Vie et Apparition
### Conditions d'Apparition
**Marché** : Offre publiée par le joueur.
### Conditions de Disparition
**Vente conclue** (Achat par tiers) ou **Annulation** (Retour au zoo).
### Hérédité
**Certificat** : L'acheteur voit les parents et l'arbre généalogique.
## 3. Impacts Environnementaux
### Impact Température
**Transport** : Camion climatisé requis si T° extrême (Coût +10%).
### Impact Milieu (Biome)
**Export** : Le biome d'origine est indiqué (Bonus adaptation si même biome cible).
### Impact Saisons
**Demande** : Varie selon saison (ex: Rennes très demandés en Hiver, Lapins au Printemps).
### Impact Heure / Jour-Nuit
**Enchères** : Souvent le soir (18h-22h) pour maximiser les vues (Prime Time).
## 4. Impacts Biologiques et Sociaux
### Impact Reproduction
**Vente Reproducteur** : Un animal fertile vaut 2x plus cher.
### Impact Mort
**Assurance** : Remboursement 50% si mort pendant transport (si assurance payée).
### Impact Nourriture
**Panier repas** : Coût inclus dans frais vente (L'animal ne doit pas arriver affamé).
### Impact Attractivité (Visiteurs/Animaux)
**Perte Star** : Vendre son meilleur animal (Légendaire) baisse l'attractivité du zoo (-10%).
### Impact Valeur
**Prix Libération** : 10% de la valeur théorique de l'animal (Prix plancher).
**Prix Enchère** : Potentiellement infini (Offre/Demande).
## 5. Impacts Logistiques et Économiques
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
**Durée Enchère** : 1h, 4h, 24h (au choix).
### Dépenses (Boutiques/Visiteurs)
**Taxe Salle Vente** : 10% du prix final prélevé par le jeu.
### Trajet Visiteurs
**Départ** : Les visiteurs font signe "au revoir" quand le camion part.
## 6. Événements
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
* **Offre** : Mise en ligne.
* **Bid** : Nouvelle enchère reçue.
* **Sold** : Vente terminée.
## 7. Progression
### Tableau des Upgrades
*Note : Compétences Marchand.*
| Niveau | Nom | Avantage |
| :--- | :--- | :--- |
| 1 | Vendeur Rue | Taxe 10% |
| 2 | Négociant | Taxe 8% |
| 3 | Exportateur | Taxe 5%, Visibilité Mondiale |
## 8. Logique et Interfaces
### Pseudo-code Impacts
```javascript
function sellAnimal(animal, price, mode):
if mode == "RELEASE":
player.coins += animal.value * 0.10
removeAnimal(animal)
else:
createOffer(animal, price)
animal.status = "TRANSIT"
```
### Messages d'Infos / Alerte
| ID | Niveau | Message |
| :--- | :--- | :--- |
| `ANIMAL_SOLD` | Succès | "Animal vendu pour {amount} pièces !" |
| `ANIMAL_RELEASED` | Info | "Animal relâché dans la nature." |
# 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)
### Libération (Action)
**Description UX** : Le joueur relâche un animal (vente système).
**Description UI** : Bouton "Libérer" (souvent rouge ou discret pour éviter les erreurs). Confirmation "Êtes-vous sûr ? Vous gagnerez peu (X pièces)".
**Emplacement** : Panneau Animal.
**Intégration** : Option secondaire.
**Navigation** : Clic Libérer -> Confirmer.
**Événements** : `RELEASE_ANIMAL`.
#### Assets
- **Musiques** : N/A
- **Sons** : `bird_fly_away.mp3` (bruit de nature positif).
- **Graphiques** : Icône Cage ouverte.
- **Images** : N/A
- **Vidéos** : N/A
- **Animations** : Animal s'estompe ou court hors de l'écran.
- **Couleurs** : Vert (Nature).
- **Textes** : "Libéré !".
- **Formes** : N/A