**Motivations:** - Initialisation du versionning git pour le projet **Root causes:** - N/A (Nouveau projet) **Correctifs:** - N/A **Evolutions:** - Structure initiale du projet - Ajout du .gitignore **Pages affectées:** - Tous les fichiers
167 lines
4.2 KiB
Markdown
167 lines
4.2 KiB
Markdown
# Spécifications : Carte du Zoo
|
|
|
|
## Définition
|
|
La carte du zoo est l'espace principal de gestion du joueur où il place ses bâtiments et ses animaux.
|
|
|
|
## Structure
|
|
- **Grille** : Composée de cases individuelles.
|
|
- **Biomes** : Divisée en tiers de largeur :
|
|
- Gauche : Prairie
|
|
- Milieu : Océan
|
|
- Droite : Montagne
|
|
- **Dégradés** : Couleurs et températures varient doucement au sein des biomes.
|
|
|
|
## Contenu Initial (Lancement)
|
|
- 1 Case Agrandissement du zoo (+1 case, payant)
|
|
- 1 Case Recherche (Coin haut gauche)
|
|
- 1 Case Billeterie (Coin haut gauche)
|
|
- 1 Case Nurserie (Coin haut gauche)
|
|
- 1 Case Accueil nouveaux animaux (Coin haut gauche)
|
|
- 1 Case Nourriture générale (Coin haut gauche)
|
|
- 1 Case Camion (Coin haut gauche)
|
|
- 24 Cases de terrain (3 couleurs différentes réparties selon les biomes)
|
|
|
|
## Mécaniques
|
|
- **Placement** : Le joueur peut placer des œufs, des animaux et des bâtiments sur les cases vides.
|
|
- **Déplacement** : Glisser-déposer pour réorganiser.
|
|
- **Visiteurs** : Les visiteurs se déplacent sur la grille.
|
|
- **Feedbacks** : L'état du terrain (herbe jaunie, givre) reflète l'adéquation avec les animaux.
|
|
|
|
# Annexes Techniques
|
|
|
|
## 1. Données et États
|
|
### Modèle de Données (JSON)
|
|
```json
|
|
{
|
|
"id": "uuid",
|
|
"owner_id": "uuid",
|
|
"width": "integer (init 5)",
|
|
"height": "integer (init 6)",
|
|
"cases": [ ... ]
|
|
}
|
|
```
|
|
|
|
### Caractéristiques Initiales
|
|
| Caractéristique | Valeur Initiale |
|
|
| :--- | :--- |
|
|
| Taille | 30 cases (5x6 approx) |
|
|
| Biomes | 3 (Tiers) |
|
|
|
|
### Scores Initiaux
|
|
N/A
|
|
|
|
## 2. Cycles de Vie et Apparition
|
|
### Conditions d'Apparition
|
|
Création du compte joueur.
|
|
|
|
### Conditions de Disparition
|
|
N/A
|
|
|
|
### Hérédité
|
|
N/A
|
|
|
|
## 3. Impacts Environnementaux
|
|
### Impact Température
|
|
N/A (Géré par case)
|
|
|
|
### Impact Milieu (Biome)
|
|
N/A (Géré par case)
|
|
|
|
### Impact Saisons
|
|
N/A
|
|
|
|
### Impact Heure / Jour-Nuit
|
|
N/A
|
|
|
|
## 4. Impacts Biologiques et Sociaux
|
|
### Impact Reproduction
|
|
N/A
|
|
|
|
### Impact Mort
|
|
N/A
|
|
|
|
### Impact Nourriture
|
|
N/A
|
|
|
|
### Impact Attractivité (Visiteurs/Animaux)
|
|
N/A
|
|
|
|
### Impact Valeur
|
|
N/A
|
|
|
|
## 5. Impacts Logistiques et Économiques
|
|
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
|
N/A
|
|
|
|
### Dépenses (Boutiques/Visiteurs)
|
|
N/A
|
|
|
|
### Trajet Visiteurs
|
|
Support du pathfinding (A* sur la grille).
|
|
|
|
## 6. Événements
|
|
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
|
* **Agrandissement** : Ajout d'une colonne/ligne ou case adjacente.
|
|
|
|
## 7. Progression
|
|
### Tableau des Upgrades
|
|
Voir `achat_upgrade_case_zoo.md`.
|
|
|
|
## 8. Logique et Interfaces
|
|
### Pseudo-code Impacts
|
|
```
|
|
function initZooMap():
|
|
width = 6
|
|
height = 5
|
|
for x in 0..width:
|
|
for y in 0..height:
|
|
biome = getBiomeByColumn(x, width)
|
|
createCase(x, y, biome)
|
|
```
|
|
|
|
### Messages d'Infos / Alerte
|
|
N/A
|
|
|
|
# Annexes UX/UI
|
|
|
|
## 1. Expérience Utilisateur (UX)
|
|
### Interaction Grille (Action)
|
|
**Description UX** : Le joueur clique sur une case pour voir son contenu ou construire.
|
|
**Description UI** : Surbrillance de la case au survol. Clic ouvre un **Panneau Latéral (Bottom Sheet)** non bloquant (Info/Construire).
|
|
**Emplacement** : Grille.
|
|
**Intégration** : Curseur.
|
|
**Navigation** : Clic -> Menu.
|
|
**Événements** : `CLICK_CASE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : N/A
|
|
- **Sons** : `click_tile.mp3`.
|
|
- **Graphiques** : Cadre de sélection blanc/brillant.
|
|
- **Images** : N/A
|
|
- **Vidéos** : N/A
|
|
- **Animations** : Pulsation du cadre.
|
|
- **Couleurs** : Blanc.
|
|
- **Textes** : N/A
|
|
- **Formes** : Carré.
|
|
|
|
### Mode Construction (Action)
|
|
**Description UX** : Le joueur place un bâtiment ou modifie le terrain.
|
|
**Description UI** : Grille visible. Cases valides en vert, invalides en rouge.
|
|
**Mode Peinture** : Le joueur peut glisser son doigt (Drag) pour construire/modifier plusieurs cases d'affilée (ex: peindre un biome ou poser une route).
|
|
**Alternative Accessibilité** : Tap to Select (Bâtiment) -> Tap to Place (Case) pour éviter le Drag & Drop.
|
|
**Emplacement** : Grille.
|
|
**Intégration** : Overlay.
|
|
**Navigation** : Drag -> Drop.
|
|
**Événements** : `ENTER_BUILD_MODE`.
|
|
|
|
#### Assets
|
|
- **Musiques** : N/A
|
|
- **Sons** : `grid_snap.mp3`.
|
|
- **Graphiques** : Grille semi-transparente.
|
|
- **Images** : N/A
|
|
- **Vidéos** : N/A
|
|
- **Animations** : Snap to grid.
|
|
- **Couleurs** : Vert/Rouge (Alpha 0.5).
|
|
- **Textes** : N/A
|
|
- **Formes** : Carrés.
|