Projets : structure par projet (jeu_de_la_vie, labyrinthe, mastermind, wator)
This commit is contained in:
82
Projets/wator/JALONS.md
Normal file
82
Projets/wator/JALONS.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Jalons — Wa-Tor
|
||||
|
||||
> Progression suggérée sur ~10 séances (septembre → février)
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 — Modélisation (Séances 1-2)
|
||||
|
||||
**Objectif :** Comprendre le système proie-prédateur et choisir les structures de données.
|
||||
|
||||
- Lire le `README.md` et les règles du Wa-Tor
|
||||
- Identifier les entités : grille, thon, requin — quels attributs ont-ils ?
|
||||
- Choisir une représentation de la grille : liste 2D, dictionnaire `{(i,j): animal}` ?
|
||||
- Écrire `creer_grille(n, m, nb_thons, nb_requins)` → grille initialisée aléatoirement
|
||||
- Écrire `afficher(grille)` → affichage terminal (ex. `T` thon, `R` requin, `.` vide)
|
||||
|
||||
**Variables globales à définir :**
|
||||
- `GESTATION_THON` : nombre d'étapes avant reproduction
|
||||
- `GESTATION_REQUIN` : nombre d'étapes avant reproduction
|
||||
- `ENERGIE_REQUIN` : énergie initiale d'un requin (perd 1 par étape, +1 en mangeant)
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — Les thons (Séances 3-4)
|
||||
|
||||
**Objectif :** Implémenter le comportement des proies.
|
||||
|
||||
- Écrire `voisins_libres(grille, i, j)` → liste des cases vides adjacentes (N, S, E, O)
|
||||
- Écrire `deplacer_thon(grille, i, j)` → le thon se déplace vers une case libre aléatoire
|
||||
- Gérer la gestation : si `age >= GESTATION_THON`, un thon se reproduit en laissant un jeune sur la case quittée
|
||||
- Tester sur une grille avec uniquement des thons : se déplacent-ils ? Se reproduisent-ils ?
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — Les requins (Séances 5-6)
|
||||
|
||||
**Objectif :** Implémenter les prédateurs.
|
||||
|
||||
- Écrire `voisins_thons(grille, i, j)` → liste des cases adjacentes contenant un thon
|
||||
- Écrire `deplacer_requin(grille, i, j)` :
|
||||
- Si un thon est adjacent → le manger (gain d'énergie, déplacement)
|
||||
- Sinon → se déplacer vers une case libre
|
||||
- Gérer la gestation (reproduction comme le thon)
|
||||
- Si énergie ≤ 0 → le requin meurt
|
||||
- Tester sur une grille mixte
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — Simulation complète (Séances 7-8)
|
||||
|
||||
**Objectif :** Assembler et observer.
|
||||
|
||||
- Écrire `etape(grille)` → applique une étape à tous les animaux (attention à l'ordre !)
|
||||
- Écrire `simuler(grille, nb_etapes)` → boucle principale avec affichage
|
||||
- Observer les dynamiques : les populations oscillent-elles ? L'une disparaît-elle ?
|
||||
- Faire varier les paramètres et noter les effets
|
||||
|
||||
**Point d'attention :** chaque animal ne doit agir qu'une seule fois par étape — utiliser un marqueur "déjà déplacé" pour éviter qu'un animal soit traité deux fois.
|
||||
|
||||
---
|
||||
|
||||
## Phase 5 — Visualisation et finitions (Séances 9-10)
|
||||
|
||||
**Objectif :** Affichage graphique et préparation du Grand Oral.
|
||||
|
||||
- Ajouter un affichage graphique (Pyxel, matplotlib, tkinter)
|
||||
- Tracer l'évolution des populations (courbe thons / requins par étape)
|
||||
- Nettoyer le code, ajouter des docstrings
|
||||
- Compléter le `SUIVI.md` et préparer les questions pour le Grand Oral
|
||||
|
||||
---
|
||||
|
||||
## Idées d'extension avancée
|
||||
|
||||
- **Cycles de Lotka-Volterra** : comparer les courbes simulées aux équations différentielles théoriques
|
||||
- **Grille torique** : les bords se rejoignent (comme dans le TP d'origine)
|
||||
- **Espèce supplémentaire** : ajouter un super-prédateur
|
||||
- **Paramétrage dynamique** : interface pour modifier les paramètres en cours de simulation
|
||||
|
||||
---
|
||||
|
||||
Auteur : Florian Mathieu — Licence CC BY NC
|
||||
72
Projets/wator/SUIVI.md
Normal file
72
Projets/wator/SUIVI.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# Suivi de projet — [Nom du projet]
|
||||
|
||||
**Élève(s) :**
|
||||
**Classe :**
|
||||
**Projet :**
|
||||
**Date de début :**
|
||||
|
||||
---
|
||||
|
||||
## Journal de bord
|
||||
|
||||
*Compléter après chaque séance.*
|
||||
|
||||
### Séance 1 — [Date]
|
||||
|
||||
**Objectif de la séance :**
|
||||
|
||||
**Ce que j'ai fait :**
|
||||
|
||||
**Difficultés rencontrées :**
|
||||
|
||||
**Décisions prises et pourquoi :**
|
||||
|
||||
**Ce qu'il reste à faire :**
|
||||
|
||||
---
|
||||
|
||||
### Séance 2 — [Date]
|
||||
|
||||
**Objectif de la séance :**
|
||||
|
||||
**Ce que j'ai fait :**
|
||||
|
||||
**Difficultés rencontrées :**
|
||||
|
||||
**Décisions prises et pourquoi :**
|
||||
|
||||
**Ce qu'il reste à faire :**
|
||||
|
||||
---
|
||||
|
||||
*(Dupliquer le bloc ci-dessus pour chaque séance)*
|
||||
|
||||
---
|
||||
|
||||
## Bilan du projet
|
||||
|
||||
### Ce qui fonctionne
|
||||
|
||||
### Ce qui ne fonctionne pas encore (et pourquoi)
|
||||
|
||||
### Choix techniques importants
|
||||
|
||||
*Quelles décisions as-tu prises ? Pourquoi ce choix plutôt qu'un autre ?*
|
||||
|
||||
### Ce que j'ai appris
|
||||
|
||||
---
|
||||
|
||||
## Préparation au Grand Oral
|
||||
|
||||
*Le Grand Oral dure 20 minutes. Tu dois pouvoir présenter ton projet et répondre à des questions. Prépare-toi en répondant à ces questions :*
|
||||
|
||||
**1. En quoi consiste ton projet ? Explique-le en 2 minutes à quelqu'un qui ne connaît pas l'informatique.**
|
||||
|
||||
**2. Quelles notions du cours as-tu utilisées ? Donne un exemple concret dans ton code.**
|
||||
|
||||
**3. Quelle a été la difficulté principale ? Comment l'as-tu résolue ?**
|
||||
|
||||
**4. Qu'aurais-tu fait différemment si tu recommençais ?**
|
||||
|
||||
**5. Quelle extension aimerais-tu implémenter si tu avais plus de temps ?**
|
||||
Reference in New Issue
Block a user