|
|
@ -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])): |
|
|
|