**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/*
166 lines
4.3 KiB
Markdown
166 lines
4.3 KiB
Markdown
# Spécifications : Vente aux Enchères de Bébés
|
|
|
|
## Définition
|
|
Processus de vente spécifique pour les bébés animaux nés dans le zoo.
|
|
|
|
## Spécificités
|
|
- **Forte Valeur** : Les bébés ont souvent une valeur supérieure aux adultes car ils ont tout leur potentiel de vie et de reproduction devant eux.
|
|
- **Fragilité** : Un bébé mis en vente doit être vendu rapidement.
|
|
- **Risque** : Si l'enchère échoue ou dure trop longtemps sans acheteur, le bébé risque de mourir dans le camion ou la zone de vente (faim/froid).
|
|
|
|
## Processus
|
|
1. Sélection du bébé en Nurserie ou sur la grille.
|
|
2. Glisser-déposer vers la zone Camion.
|
|
3. Définition du prix de départ.
|
|
4. Apparition sur la Carte du Monde.
|
|
5. Si vendu : Transfert après délai de 10 min.
|
|
6. Si invendu : Retour nécessaire en Nurserie ou Mort.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"seller_id": "uuid",
|
|
"animal_id": "uuid",
|
|
"start_price": "int",
|
|
"current_bid": "int",
|
|
"highest_bidder": "uuid | null",
|
|
"end_time": "timestamp",
|
|
"status": "active | sold | expired",
|
|
"iso_x": "integer",
|
|
"iso_y": "integer",
|
|
"z_index": "integer"
|
|
}
|
|
```
|
|
|
|
### Caractéristiques Initiales
|
|
| Caractéristique | Valeur |
|
|
| :--- | :--- |
|
|
| Durée Enchère | 1h - 24h (au choix) |
|
|
| Délai Validation | 10 min (fixe) |
|
|
|
|
### Scores Initiaux
|
|
N/A
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Action joueur.
|
|
|
|
### Conditions de Disparition
|
|
Vente ou Expiration.
|
|
|
|
### Hérédité
|
|
N/A
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
N/A
|
|
|
|
### Impact Milieu (Biome)
|
|
N/A
|
|
|
|
### Impact Saisons
|
|
N/A
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
N/A
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
N/A
|
|
|
|
### Impact Mort
|
|
**Risque** : Si `status == expired` et non récupéré sous 1h -> Mort du bébé.
|
|
|
|
### Impact Nourriture
|
|
N/A
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
N/A
|
|
|
|
### Impact Valeur
|
|
**Dépréciation** : Aucune (c'est une enchère).
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
N/A
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
N/A
|
|
|
|
### Trajet Visiteurs
|
|
N/A
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Nouvelle Enchère** : Notification.
|
|
* **Surenchère** : Notification vendeur.
|
|
* **Vente Terminée** : Notification.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
N/A
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
N/A
|
|
|
|
### Messages d'Infos / Alerte
|
|
| ID | Niveau | Message |
|
|
| :--- | :--- | :--- |
|
|
| `AUCTION_SOLD` | Succès | "Bébé vendu !" |
|
|
| `AUCTION_FAIL` | Alerte | "Enchère terminée sans acheteur. Récupérez le bébé !" |
|
|
|
|
# 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)
|
|
### Mise en Vente (Action)
|
|
**Description UX** : Le joueur glisse un bébé depuis la nurserie vers le camion.
|
|
**Description UI** : **Bottom Sheet** de configuration "Vendre ce bébé". Choix du prix de départ et de la durée.
|
|
**Emplacement** : Zoo -> Modal Vente.
|
|
**Intégration** : Formulaire.
|
|
**Navigation** : Drag -> Config -> Valider.
|
|
**Événements** : `CREATE_AUCTION`.
|
|
|
|
#### Assets
|
|
- **Musiques** : N/A
|
|
- **Sons** : `cash_register_open.mp3`.
|
|
- **Graphiques** : Icône Bourse/Pièce.
|
|
- **Images** : Portrait Bébé.
|
|
- **Vidéos** : N/A
|
|
- **Animations** : N/A
|
|
- **Couleurs** : Or.
|
|
- **Textes** : "Prix de départ", "Durée".
|
|
- **Formes** : Champs de saisie.
|
|
|
|
### Suivi Vente (Passif)
|
|
**Description UX** : Le joueur voit son offre active sur son propre zoo (Carte Monde) ou dans son menu "Ventes".
|
|
**Description UI** : Liste "Mes Ventes". Compteur d'enchères reçues.
|
|
**Emplacement** : Menu Gestion -> Ventes.
|
|
**Intégration** : Liste.
|
|
**Navigation** : Menu -> Ventes.
|
|
**Événements** : `OPEN_MY_SALES`.
|
|
|
|
#### Assets
|
|
- **Musiques** : N/A
|
|
- **Sons** : `notification.mp3` (si offre reçue).
|
|
- **Graphiques** : N/A
|
|
- **Images** : N/A
|
|
- **Vidéos** : N/A
|
|
- **Animations** : N/A
|
|
- **Couleurs** : N/A
|
|
- **Textes** : "Meilleure offre : X".
|
|
- **Formes** : N/A
|