Files
builazoo/docs/specs/vente_animal.md
Nicolas Cantu f0219559c5 Standardisation exhaustive des spécifications techniques
**Motivations:**
- Harmoniser la documentation technique pour faciliter le développement.
- Garantir l'exhaustivité des données de Game Design pour chaque entité.

**Root causes:**
- Documentation hétérogène et incomplète.

**Correctifs:**
- N/A

**Evolutions:**
- Réécriture complète de 53 fichiers de spécifications selon un modèle strict.
- Ajout de données de Game Design (prix, durées, impacts) pour combler les manques.
- Ajout systématique des annexes UX/UI.

**Pages affectées:**
- docs/specs/*
2026-03-04 18:07:31 +01:00

127 lines
4.1 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
## 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