2.4 KiB
2.4 KiB
Projet — Le Jeu de la Vie
En 1970, le mathématicien John Horton Conway invente un automate cellulaire capable de générer une vie artificielle à partir de quatre règles simples. Cinquante ans plus tard, des chercheurs utilisent encore ce modèle pour simuler des phénomènes biologiques, sociaux et physiques.
Contexte
Le Jeu de la Vie est un automate cellulaire qui se déroule sur une grille infinie (ou torique) de cellules. Chaque cellule est soit vivante, soit morte. À chaque génération, l'état de chaque cellule évolue selon quatre règles appliquées simultanément :
- Une cellule vivante avec moins de 2 voisins vivants meurt (sous-population).
- Une cellule vivante avec 2 ou 3 voisins vivants survit.
- Une cellule vivante avec plus de 3 voisins vivants meurt (surpopulation).
- Une cellule morte avec exactement 3 voisins vivants devient vivante (reproduction).
Ces règles font émerger des comportements complexes : structures stables, oscillateurs, planeurs...
Compétences mobilisées
| Notion | Chapitre du cours |
|---|---|
| Listes 2D (grille) | Programmation |
| Fonctions pures | Paradigmes |
| Classes et objets | POO |
| Récursivité / itération | Récursivité |
| Visualisation (matplotlib / Pyxel) | — |
Cahier des charges
Fonctionnalités minimales
- Représenter la grille sous forme de liste 2D (ou dictionnaire)
- Calculer le nombre de voisins vivants d'une cellule
- Appliquer les 4 règles pour calculer la génération suivante
- Afficher la grille dans le terminal (caractères
█/.) - Lancer la simulation sur N générations
Extensions possibles
- Affichage graphique animé (Pyxel, matplotlib, tkinter)
- Grille torique (les bords se rejoignent)
- Charger des configurations célèbres (planeur, canon à planeurs, pulsar...)
- Compter et tracer l'évolution du nombre de cellules vivantes
- Permettre à l'utilisateur de dessiner une configuration initiale
- Détecter automatiquement les structures stables et les oscillateurs
Ressources
5_projet_le_jeu_de_la_vie.pdf— consignes détaillées (dans le dossier parent)- Conway's Game of Life — Wikipedia
- LifeWiki — patterns célèbres
- Pyxel — moteur graphique Python
Auteur : Florian Mathieu — Licence CC BY NC