Browse Source

Class grille créer. à faire: nouvelle méthode pour affiche grille et éviter les globals

sans_fonction
mathis.philippot 2 weeks ago
parent
commit
b4f4c661cf
  1. 58
      jeu_de_la_vie.py

58
jeu_de_la_vie.py

@ -5,6 +5,63 @@ 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.lst_grille=[]
self.grille=[]
self.taille_carré=0
self.lst_c=[]
self.vivante=unvivante
self.morte=unmorte
self.can=uncanva
self.fen=unfenetre
def creer_grille(self):
for ligne in range(0,nb_ligne):
self.grille.append([])
for colonne in range(0,nb_colonne):
self.grille[ligne].append(0)
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([])
###############création_carré##########
carre_col,carre_ligne=1246//self.colonne,795//self.ligne
if carre_col<carré_ligne:
self.taille_carre=carré_col
else:
self.taille_carre=carré_ligne
for ligne in range(len(grille)):
for colone in range(len(grille[0])):
new_c=zone.create_rectangle( colone *self.taille_carre , ligne *self.taille_carre ,
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()
def affiche_grille(self):
for ligne in range (len(self.grille)):
for col in range (len(self.grille[0])):
if self.grille [ligne][col] == 1:
zone.itemconfig(self.lst_c[ligne][col],fill ="black")
self.fen.update()
else:
zone.itemconfig(self.lst_c[ligne][col],fill ="white")
self.fen.update()
########Fonction interface utilisateur###########
def bouton_grille():
global nb_ligne
@ -50,6 +107,7 @@ def creer_care(nb_ligne,nb_colonne):
c=zone.create_rectangle( colone *taille_carré , ligne *taille_carré , colone*taille_carré+taille_carré , ligne*taille_carré+taille_carré , fill ="white")
lst_c[ligne].append(c)
afficheCarte ()
def afficheCarte ():
for ligne in range (len(grille)):
for col in range (len(grille[0])):

Loading…
Cancel
Save