Jeu de la vie en Prolog
À propos du projet
Développement du Jeu de la vie de John Conway en Prolog. Gestion d'une grille à deux dimensions représentée en liste de listes. L'état de chaque cellule évolue en fonction de ses 8 voisines (survie, isolement, surpopulation, naissance). Le programme comprend le calcul du voisinage, l'évolution des générations, la détection de configurations stables, la génération aléatoire et l'affichage lisible de la grille.
Le Défi
Le défi principal de ce TP était de modéliser l'évolution d'un automate cellulaire et la manipulation de grilles (listes de listes) entièrement en programmation logique, tout en résolvant la détection de stabilité (absence de changement entre deux générations).
La Solution
Modélisation récursive stricte des listes en Prolog. Le programme traite chaque cellule en calculant le nombre exact de voisins vivants pour déterminer son état N+1. La détection de stabilité est gérée par l'unification de l'état actuel avec l'état précédent sans générer de boucle infinie.
Fonctionnalités Clés
Compétences Développées
Résultats & Impact
"Une simulation complète et robuste de l'automate cellulaire sans utiliser de paradigmes impératifs, démontrant la puissance de la programmation déclarative."