# 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 : 1. Une cellule vivante avec **moins de 2 voisins vivants** meurt (sous-population). 2. Une cellule vivante avec **2 ou 3 voisins vivants** survit. 3. Une cellule vivante avec **plus de 3 voisins vivants** meurt (surpopulation). 4. 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](https://fr.wikipedia.org/wiki/Jeu_de_la_vie) - [LifeWiki - patterns célèbres](https://conwaylife.com/wiki/) - [Pyxel - moteur graphique Python](https://github.com/kitao/pyxel) --- Auteur : Florian Mathieu - Licence CC BY NC