Jalons - Le Jeu de la Vie
Progression suggérée sur ~10 séances (septembre → février)
Phase 1 - Analyse et modélisation (Séances 1-2)
Objectif : Comprendre le problème et choisir les structures de données.
- Lire les règles de Conway et les reformuler avec ses propres mots
- Dessiner à la main quelques générations d'une configuration simple (ex. 3 cellules en ligne)
- Choisir une représentation de la grille : liste 2D, dictionnaire
{(i,j): état}? - Écrire la fonction
creer_grille(n, m)→ grille vide de n lignes et m colonnes - Écrire la fonction
afficher_grille(grille)→ affichage terminal
Questions à se poser : - Comment représenter une cellule morte / vivante en Python ? - Que se passe-t-il aux bords de la grille ?
Phase 2 - Règles du jeu (Séances 3-4)
Objectif : Implémenter le cœur de la simulation.
- Écrire
compter_voisins(grille, i, j)→ nombre de voisins vivants de la cellule (i, j) - Écrire
etat_suivant(etat, nb_voisins)→ applique les 4 règles, renvoie le nouvel état - Écrire
generation_suivante(grille)→ calcule la grille à l'étape suivante - Tester manuellement sur un petit exemple (3×3)
Point d'attention : la prochaine génération doit être calculée simultanément pour toutes les cellules - on ne modifie pas la grille en cours de calcul.
Phase 3 - Simulation et configurations (Séances 5-6)
Objectif : Lancer une simulation complète et observer des comportements.
- Écrire
simuler(grille, nb_generations)→ boucle principale - Tester sur les configurations classiques :
- Bloc (stable)
- Clignotant (oscillateur période 2)
- Planeur (se déplace)
- Observer : certaines configurations sont-elles stables ? Oscillantes ? Chaotiques ?
Phase 4 - Affichage graphique (Séances 7-8)
Objectif : Rendre la simulation visuelle et interactive.
- Choisir une bibliothèque graphique : Pyxel, matplotlib (animation), tkinter
- Afficher la grille avec des cellules colorées
- Animer la simulation pas à pas avec un délai configurable
- (Extension) Permettre à l'utilisateur de cliquer pour activer/désactiver des cellules
Phase 5 - Finitions et documentation (Séances 9-10)
Objectif : Préparer le rendu et le Grand Oral.
- Nettoyer le code, ajouter des docstrings
- Rédiger un README personnel décrivant le projet et les choix techniques
- Compléter le
SUIVI.md - Préparer 2-3 questions pour le Grand Oral (voir
SUIVI.md)
Idées d'extension avancée
- Grille torique :
i % netj % mpour que les bords se rejoignent - Statistiques : tracer le nombre de cellules vivantes par génération (matplotlib)
- Chargement de patterns : lire des fichiers
.rle(format standard des patterns Conway) - Détection de stabilité : arrêter la simulation quand la grille ne change plus
Auteur : Florian Mathieu - Licence CC BY NC
Dernière mise à jour : 18/06/2026