Files
TermNSI/Projets/wator/JALONS.md

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.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