Ce projet est une implémentation interactive du Jeu de la Vie de Conway en Python avec l'utilisation de la bibliothèque Tkinter. Il permet de visualiser et d'interagir avec une grille représentant des cellules vivantes ou mortes, qui évoluent selon des règles spécifiques.
- Interaction avec les cellules :
- Ajoutez ou retirez des cellules vivantes en cliquant sur la grille.
- Contrôle de la simulation :
- Start : Lance la simulation.
- Stop : Arrête la simulation.
- Reset : Réinitialise la grille à vide.
- Random : Génère une configuration aléatoire de cellules vivantes.
- Visualisation en temps réel :
- Les cellules évoluent selon les règles du Jeu de la Vie.
- Une cellule vivante avec 2 ou 3 voisins vivants reste vivante.
- Une cellule morte avec exactement 3 voisins vivants devient vivante.
- Toutes les autres cellules meurent ou restent mortes.
- Python 3.x installé sur votre machine.
- Bibliothèque Tkinter (fournie par défaut avec Python).
- Clonez le dépôt ou copiez le fichier Python :
git clone https://github.com/cdupasquier/python_lifegame.git cd python_lifegame - Activez l'environnement virtuel (lf)
- py main.py
Une interface simple et interactive où chaque cellule de la grille peut être activée ou désactivée en cliquant dessus.
Les paramètres du jeu sont définis directement dans le code Python et peuvent être modifiés pour ajuster la taille de la grille ou la vitesse de simulation :
- Taille des cellules : CELL_SIZE = 20
- Largeur de la grille (colonnes) : GRID_WIDTH = 30
- Hauteur de la grille (lignes) : GRID_HEIGHT = 20
- Vitesse de mise à jour (ms) : UPDATE_SPEED = 200
- Contient la logique du jeu et l'interface utilisateur.
- toggle_cell : Permet d'activer/désactiver une cellule sur la grille.
- start : Démarre la simulation.
- stop : Arrête la simulation.
- reset : Réinitialise la grille.
- randomize : Génère une configuration aléatoire.
- update : Met à jour la grille à chaque étape.
- next_generation : Calcule la grille suivante selon les règles.
- count_alive_neighbors : Compte les voisins vivants d'une cellule.
Inspiré du Jeu de la Vie de John Conway.
Développé en Python avec Tkinter pour l'interface graphique par Christophe Dupasquier
- Ajout d'une option pour enregistrer et charger des configurations.
- Modification dynamique de la taille de la grille et de la vitesse.
- Support pour des thèmes de couleurs.