Principe :
Le jeu de la vie est un automate cellulaire dont les règles ont été définies par J. Conway en 1970. L'état de l'automate à l'étape n est uniquement fonction de son état à l'étape n-1. L'évolution de l'état d'une cellule dépend de l'état de ses 8 plus proches voisins.
Dans l'automate de Conway, les règles sont les suivantes :
- Une cellule vide à l'étape n-1 et ayant exactement 3 voisins sera occupée à l'étape suivante. (naissance liée à un environnement optimal)
- Une cellule occupée à l'étape n-1 et ayant 2 ou 3 voisins sera maintenue à l'étape n sinon elle est vidée. (destruction par désertification ou surpopulation)
C'est l'analogie entre ces règles et certains critères d'évolution de populations de bactéries qui a conduit à donner à cet automate le nom de jeu de la vie.
C'est un code en Delphi que j'ai programmé il y a près de 2 ans, quand j'ai commençé à apprendre la programmation. Néanmoins le résultat est intéressant. Je l'envoie car je viens de voir passer un code en Delphi de jeu de la vie sur le site que je trouve un peu court. Ce programme permet d'afficher un jeu de la vie sur une matrice carré pouvant aller jusqu'à 505*505. Vous pouvez vous amusez a mettre une metrice bien plus grande en allant modifier le bon paramètre du code. En 1000*1000 ça peut ramer un peu sachant qu'il faut en théorie vérifier 1 million de points. Pour accélérer le calcul, j'ai intégré une optimisation qui évite d'avoir à vérifier tous les points du tableau à chaque génération. Une petite astuce qui accèlère grandement les calculs !!!!
Conclusion :
ATTENTION au démarrage le programme est en mode "dessin", pour passer en remplissage aléatoire appuyez sur le bouton "mode" en haut à droite puis sur le bouton "Initialisation".
Un des points noir de mon programme est que je n'ai pas intégré de buffer d'affichage, d'ou des clignotements gênants....Ce doit être facile à corriger mais je n'ai pas cherché à l'époque..
Vous pouvez modifier les variables qui contrôles les seuils de naissance et de mort des points.
Vous pouvez aussi dessiner votre propre remplissage initial de points ou faire un remplissage aléatoire.
Pour ceux qui voudraient améliorer ce programme, il serait intéressant de pouvoir modifier les couleurs des différents générations avec un menu palette, ou encore d'afficher des points + gros. Ici 1 pixel = 1 bactérie, Ce qui peut être génant avec des résolutions importantes..
Attention ce logiciel peut mettre votre processeur à rude épreuve, Refroidisser le bien...
J'espère que ça vous plaira....
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.