**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/*
3.2 KiB
3.2 KiB
Affiche Enclos
1. Définition
Panneau informatif fixé sur la clôture d'un enclos, présentant l'espèce animale qui y réside. Il apparaît automatiquement lorsqu'un enclos est créé et se positionne sur une section horizontale visible de la barrière.
2. Fonctions
- Information : Indique aux visiteurs (et au joueur) quel animal se trouve ici.
- Éducation : Augmente légèrement le score d'éducation du zoo (les visiteurs s'arrêtent pour lire).
- Esthétique : Habille les clôtures et rend le zoo plus réaliste.
3. Icone
- Représentation : Panneau rectangulaire avec une photo d'animal.
- Couleur dominante : Bois et Blanc.
4. Interactions
- Clic : Ouvre la fiche encyclopédique de l'animal ("Zoopédia").
- Personnalisation : (Optionnel) Changer le style du cadre ou l'image.
- Maintenance : Peut être vandalisé (tagué) ou cassé, nécessitant une réparation par un agent d'entretien.
5. Annexes Techniques
Données (JSON)
{
"sign_id": "sign_lion_01",
"parent_enclosure_id": "enclosure_lions_01",
"created_at": "timestamp",
"updated_at": "timestamp",
"position": {
"x": 10,
"y": 11,
"face": "enum (NORTH, SOUTH, EAST, WEST)"
},
"style_id": "wood_basic",
"status": "enum (OK, BROKEN, TAGGED)",
"animal_info": {
"name": "Lion d'Afrique",
"scientific_name": "Panthera leo",
"conservation_status": "VU"
},
"iso_x": "integer",
"iso_y": "integer",
"z_index": "integer"
}
Règles Métier
- Placement Auto : Le jeu détermine la meilleure position (côté sud ou est généralement, face au chemin le plus proche).
- Unicité : Une seule affiche par enclos fusionné (ou une tous les X cases de périmètre).
- Mise à jour : Si l'animal change (enclos vidé puis rempli avec autre chose), l'affiche se met à jour automatiquement.
Algorithme de Placement
def place_sign(enclosure):
# Trouver les murs adjacents à un chemin
valid_walls = []
for wall in enclosure.walls:
if is_path(wall.neighbor):
valid_walls.append(wall)
# Priorité : Sud > Est > Ouest > Nord (pour visibilité isométrique)
best_wall = select_best_wall(valid_walls)
create_sign(best_wall.position, best_wall.orientation)
6. Annexes UX/UI
- Visuel : Petit panneau en bois avec une image miniature de l'animal.
- Lisibilité : Doit être visible sans cacher les animaux derrière.
- Zoom : Devient plus détaillé ou affiche une bulle d'info au survol de la souris.
- Vue Isométrique :
- Orientation : Le sprite doit correspondre à l'orientation du mur (4 sprites différents).
- Z-Index : Doit être dessiné après la clôture mais avant les visiteurs passant devant.
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.