Download - Projet DÕISN - Edmond Perrier
![Page 1: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/1.jpg)
Projet D’ISN
![Page 2: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/2.jpg)
Présentation de l’algorithme
Le jeu de la vie :
- Un jeu qui simule l’évolution d’une population de cellules,
- Une grille où chaque case contient ou non une cellule,
- Il répond à trois règles :
![Page 3: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/3.jpg)
Si, autour d’une case vide, 3 des 8 cases contiennent une cellule alors une cellule nait dans la case vide
![Page 4: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/4.jpg)
Si, autour d’une cellule, 2 ou 3 des 8 cases contiennent une cellule alors la cellule survit
![Page 5: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/5.jpg)
Si, autour d’une cellule, il y a moins de 2 cellules alors la cellule meurt d’isolement
![Page 6: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/6.jpg)
Si, autour d’une cellule, il y a plus de 3 cellules alors la cellule meurt d’étouffement
![Page 7: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/7.jpg)
Langage Java’s cool
![Page 8: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/8.jpg)
Mise en place de la grille
![Page 9: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/9.jpg)
Remplissage aléatoire de la grille de chiffre de 1 à 5. Placement d’une cellule dans les
cases contenant un 1.
setPixel(i,j,couleur) place un pixel de la couleur désigné à la
coordonnée (i,j)
ramdom(1,5) retient aléatoirement un
chiffre de 1 à 5
![Page 10: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/10.jpg)
Un while() qui permet d’afficher le
nombre voulu de générations de
cellules (de 0 à n).
![Page 11: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/11.jpg)
Recherche du nombre de voisin
pour toutes les cases du tableau
getPixel(i,j) permet de récupérer la
valeur de la couleur du pixel de
coordonné (i,j)L’addition de la valeur de la couleur de chaque voisin permet d’en déterminer le
nombre (255=blanc et 0=noir)
![Page 12: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/12.jpg)
Dans le cas ou la case contient une cellule : si il y a 2 ou 3 voisins alors elle survit sinon
elle meurt
![Page 13: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/13.jpg)
Dans le cas ou la case est vide : si il y a 3
voisins une cellule née sinon la case reste
vide.
![Page 14: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/14.jpg)
Nettoyage de l’écran en recouvrant la
totalité de pixel blanc
Écriture du tableau pour chacune des coordonnées en
placent un pixel noir en cas de 1 et rien
dans le cas contraire
![Page 15: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/15.jpg)
Boucle simple afin de permettre de ne pas
afficher instantanément toutes
les générations
![Page 16: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/16.jpg)
Problèmes rencontrés
Raisonnement faussé :
Je regarde la première cellule, elle n’a qu’un voisin donc je la fait disparaitre. Ensuite de
regarde la deuxième, même résultat, et ainsi de suite pour ne finir avec aucune
cellule
Notre méthode initiale était fausse
![Page 17: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/17.jpg)
Problèmes rencontrés
Solution : un nouveau tableau
Je regarde la première cellule, elle meurt d’isolement : j’enregistre donc, à cette
coordonnée, un 0 dans le tableau 2.
Puis j’efface toute la génération et affiche des cellules vivantes pour chaque «1» du tableau
2. Voilà la nouvelle génération «juste».
Je regarde la deuxième, elle a deux voisins, donc elle survit, je place donc un 1 dans le
tableau 2. Et ainsi de suite sans modifier cette génération.
![Page 18: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/18.jpg)
Problèmes rencontrés
Le décalage de l’affichage des pixels :
![Page 19: Projet DÕISN - Edmond Perrier](https://reader035.vdocuments.pub/reader035/viewer/2022062409/62ac62119ed1ba19836f9e2e/html5/thumbnails/19.jpg)
FIN