From 4312e1f5c977ff5c3811c2b54668316b406a84f8 Mon Sep 17 00:00:00 2001 From: "philippot.m" <> Date: Sat, 29 Mar 2025 14:39:05 +0100 Subject: [PATCH] =?UTF-8?q?=20g=C3=A9n=C3=A9ration=20de=20grille=20fonctio?= =?UTF-8?q?nnel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeu_de_la_vie.py | 157 ++++++++++++----------------------------------- 1 file changed, 40 insertions(+), 117 deletions(-) diff --git a/jeu_de_la_vie.py b/jeu_de_la_vie.py index 30094a6..e083299 100644 --- a/jeu_de_la_vie.py +++ b/jeu_de_la_vie.py @@ -2,13 +2,12 @@ from tkinter import * from tkinter.filedialog import askopenfile from copy import deepcopy from time import sleep -lst_c=[] -lst_grille=[] + f_cont=[] class Grille: def __init__(self,unnb_ligne, unnb_col,unvivante,unmorte,uncanva,unfenetre): self.ligne=unnb_ligne - self.colone=unnb_col + self.colonne=unnb_col self.lst_grille=[] self.grille=[] self.taille_carré=0 @@ -19,34 +18,36 @@ class Grille: self.fen=unfenetre def creer_grille(self): - for ligne in range(0,nb_ligne): + self.grille=[] + for ligne in range(0,self.ligne): self.grille.append([]) - for colonne in range(0,nb_colonne): + for colonne in range(0,self.colonne): self.grille[ligne].append(0) + def detruire_ancien_carre(self): + for detruire_l in range(0,len(self.lst_c)): + for detruire_col in range(0,len(self.lst_c[0])): + self.can.delete(self.lst_c[detruire_l][detruire_col]) + def creer_carre(self,nb_ligne,nb_col): self.ligne=nb_ligne self.colone=nb_col - #####Détruire les carré précédent############ - for detruire_l in range(0,len(self.lst_c)): - for detruire_col in range(0,len(self.lst_c[0])): - zone.delete(self.lst_c[detruire_l][detruire_col]) ###############création_l_carré########## self.lst_c=[] for ligne in range(len(self.grille)): - lst_c.append([]) + self.lst_c.append([]) ###############création_carré########## carre_col,carre_ligne=1246//self.colonne,795//self.ligne - if carre_col3): - grille[ligne][col]=0 - elif copy_grille[ligne][col]==0 and vie==3: - grille[ligne][col]=1 - vie=0 - afficheCarte () + pass def gen_prev(): - global grille - global lst_grille - grille=deepcopy(lst_grille[len(lst_grille)-1]) - lst_grille.pop(len(lst_grille)-1) - afficheCarte () + pass def gen_cont(): global f_cont f_cont=True while f_cont==True: - gen_suiv() + grille.gen_suiv() sleep(0.1) if f_cont==False: break @@ -229,7 +149,6 @@ def save(): else: state.write(str(grille[ligne][col])+" ") def load(): - global grille new_state=askopenfile(mode="r",initialdir = "/",title = "Choisir un fichier",filetypes = [("Text files","*.txt*")]) new_state=new_state.readline() @@ -239,7 +158,7 @@ def load(): for int_l in range(0,len(new_state)): for int_col in range(0,len(new_state[0])): new_state[int_l][int_col]=int(new_state[int_l][int_col]) - grille=new_state + creer_care (len(new_state),len(new_state[0])) ##########Programme principale############## @@ -283,4 +202,8 @@ save.grid(row=10,column=6) load=Button(text="Charger",command=load) load.grid(row=11,column=6) zone.bind_all('', change) + +grille=Grille(0, 0, + 0,0, + zone,fenetre) fenetre.mainloop() \ No newline at end of file