Browse Source

Class grille finit modification maintenant à faire

sans_fonction
mathis.philippot 2 weeks ago
parent
commit
367e8ba666
  1. 44
      jeu_de_la_vie.py

44
jeu_de_la_vie.py

@ -50,7 +50,7 @@ class Grille:
colone*self.taille_carre+self.taille_carre , ligne*self.taille_carre +self.taille_carre ,
fill ="white")
self.lst_c[ligne].append(new_c)
affiche_grille()
self.affiche_grille()
def affiche_grille(self):
for ligne in range (len(self.grille)):
@ -61,6 +61,43 @@ class Grille:
else:
zone.itemconfig(self.lst_c[ligne][col],fill ="white")
self.fen.update()
def change(self,coord_x,coord_y):
num_colone=coord_x//self.taille_carré
num_ligne=coord_y//self.taille_carré
if 0<event.x<1246 and 0<event.y<795:
if self.grille[num_ligne][num_colone]==0:
self.grille[num_ligne][num_colone]=1
elif self.grille[num_ligne][num_colone]==1:
self.grille[num_ligne][num_colone]=0
self.affiche_grille ()
def gen_suiv(self):
copy_grille=deepcopy(grille)
self.lst_grille.append(copy_grille)
vie=0
for ligne in range (0,len(self.grille)):
for col in range (0,len(self.grille[0])):
for l_contour in range(-1,2):
for col_contour in range(-1,2):
if l_contour==0 and col_contour==0:
pass
elif copy_grille[(ligne+l_contour)%len(self.grille)][(col+col_contour)%len(self.grille[0])]==1:
vie=vie+1
if copy_grille[ligne][col]==1 and (vie==2 or vie==3):
self.grille[ligne][col]=1
elif copy_grille[ligne][col]==1 and (vie<2 or vie>3):
self.grille[ligne][col]=0
elif copy_grille[ligne][col]==0 and vie==3:
self.grille[ligne][col]=1
vie=0
affiche_grille ()
def gen_prev(self):
self.grille=deepcopy(self.lst_grille[len(self.lst_grille)-1])
self.lst_grille.pop(len(self.lst_grille)-1)
affiche_grille ()
########Fonction interface utilisateur###########
def bouton_grille():
@ -69,6 +106,9 @@ def bouton_grille():
nb_ligne=nb_ligne_choisi.get()
nb_colonne=nb_colonne_choisi.get()
creer_grille()
grille=Grille(nb_ligne_choisi.get(), nb_colonne_choisi.get(),
0, nb_ligne*nb_colonne,
zone, fenetre)
def creer_grille():
global grille
@ -221,6 +261,7 @@ choix_col.grid(row=11,column=3)
bout_g=Button(text="Créer la grille",command= bouton_grille)
bout_g.grid(row=11,column=2)
################Génération##################
suivant=Button(text="Prochaine génération",command= gen_suiv)
suivant.grid(row=10,column=4)
@ -233,6 +274,7 @@ gen_continue.grid(row=10,column=5)
stop=Button(text="Stop",command=stop)
stop.grid(row=11,column=5)
################Système sauvegarde##########
save=Button(text="Sauvegarder",command=save)
save.grid(row=10,column=6)

Loading…
Cancel
Save