3.1 KiB
3.1 KiB
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.mdet 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.Tthon,Rrequin,.vide)
Variables globales à définir :
GESTATION_THON: nombre d'étapes avant reproductionGESTATION_REQUIN: nombre d'étapes avant reproductionENERGIE_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.mdet 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