Jeu de la vie
|
Le Jeu de la Vie (ou Game of Life) est, en realité, un automate cellulaire défini en 1970 par le mathématicien anglais John Conway afin de tenter de résoudre un problème soulevé par un mathématicien, père de l'informatique, John Von Neumann.
Ce n'est pas a proprement parler un jeu : il ne nécessite pas l'intervention d'un joueur humain, hormis pour fixer les conditions initiales du jeu. Il se compose d'un univers dans lequel évoluent des cellules vivantes suivant des regles d'évolution précises.
Dans la version originale décrite par John Conway, l'univers est défini sur une grille à deux dimensions, de taille variable, ou chaque case est une cellule pouvant prendre deux états différents : morte ou vivante. Le passage d'un état à l'autre est guidé par les règles d'évolution suivantes :
A partir de ces règles de base, beaucoup d'extensions ont été proposées mais le jeu garde le même principe : il se déroule suivant un nombre de pas de temps théoriquement infini. A chaque pas de temps t, on evalue, pour chaque cellule, l'état de la cellule au pas de temps t+1 en fonction des règles d'évolution des cellules.
Cette version du jeu (implémentée en langage C) propose les extensions suivantes :
Les modules suivants sont nécessaires pour compiler et utiliser le programme dans sa globalité :
Vous pouvez les installer en utilisant :
Pour compiler le programme, utilisez la commande make
.
Par défaut, l'affichage se fait graphiquement. Pour compiler en mode texte, utilisez make MODE=TEXTE
.
Pour lancer le programme, faites simplement bin/main <fichier_grille>
Entrée
: Fais évoluer la grille d'un pas de tempsq
: Quitte le jeun
: Charge une nouvelle grille entrée par l'utilisateurc
: Active/Désactive le calcul cyclique des voisins de cellulev
: Active/Désactive le vieillissement des celluleso
: Lance un test d'oscillation de la colonieClic gauche
ou Entrée
: Fais évoluer la grille d'un pas de tempsClic droit
ou ESC
: Quitte le jeun
: Charge une nouvelle grille entrée par l'utilisateurc
: Active/Désactive le calcul cyclique des voisins de cellulev
: Active/Désactive le vieillissement des celluleso
: Lance un test d'oscillation de la colonieVous trouverez ici la documentation complète générée via doxygen. Le magnifique thème utilisé est Doxygen Awesome.
Des tags de la forme x.y.z
indiquent les versions du projet :
x
: version majeurey
: version mineure correspondant au niveau du projetz
: version de correction