Skip to content
Snippets Groups Projects
Commit 819097ef authored by Boujerfaoui Yassine's avatar Boujerfaoui Yassine
Browse files

Test

parents e2933ce9 af5995c2
No related branches found
No related tags found
No related merge requests found
from tkinter import *
from game_of_life.generate_universe import *
from game_of_life.generation import *
from game_of_life.survival import *
from game_of_life.add_seed import *
from game_of_life.Affichage_universe import *
import random as rd
fenetre = Tk()
game_of_life = Toplevel(fenetre, width= 1000, height=1000)
game_of_life.grid()
canvas = Canvas(game_of_life)
canvas.pack()
var_text = StringVar
ligne_texte = Entry(fenetre, textvariable=var_text, width=30)
ligne_texte.pack()
def create_a_grid():
"""create the grid for the graphic interface"""
global universe
print("création de la grille")
universe = generate_universe((100,100))
width = game_of_life.winfo_width()
heigth = game_of_life.winfo_height()
global zones #contient l'ensemble des zones representant des cellules
zones = []
for x in range(len(universe)):
zones.append([])
for y in range(len(universe[0])):
if universe[x][y]==1:
zones[x].append(canvas.create_rectangle(x*10,y*10,(x+1)*10,(y+1)*10), fill="black")
else:
zones[x].append(canvas.create_rectangle(x*10,y*10,(x+1)*10,(y+1)*10, fill="white"))
def update_grid():
"""met la grille à jour """
global universe
for x in range(len(universe)):
for y in range (len(universe[0])):
if universe[x][y] == 0:
if naissance(universe,(x,y)) == 1:
"colorier la case zones[x][y] en vert"
canvas.itemconfig(zones[x][y], fill="green")
else:
"colorier la case zones[x][y] en banc"
canvas.itemconfig(zones[x][y], fill="white")
else:
if survival(universe,(x,y)) == 0:
"colorier la case zones[x][y] en rouge"
canvas.itemconfig(zones[x][y], fill="red")
else:
"colorier la case zones[x][y] en noir"
canvas.itemconfig(zones[x][y], fill="black")
universe = generation(universe)
def create_cell_on_click(event):
"""créer une cellule vivante la ou l'utilisateur clique"""
global universe
x = event.x//10
y = event.y//10
universe[x][y] = 1
def add_seed_tk():
"""ajoute la graine donnée dans la fenetre principale"""
global universe
type_seed = ligne_texte.get()
seed = create_seed(type_seed)
try:
x_start = rd.randint(0,100-len(seed))
y_start = rd.randint(0,100-len(seed[0]))
universe= add_seed_to_universe(seed, universe, x_start, y_start)
except:
print("la graine n'a pas été ajoutée")
button_add_seed = Button(fenetre, text="ajoute la graine",command=add_seed_tk)
button_add_seed.pack()
button_next_step = Button(fenetre, text="go to next gen",command=update_grid)
button_next_step.pack()
create_a_grid()
canvas.bind("<Button-1>", create_cell_on_click)
fenetre.mainloop()
......@@ -51,6 +51,8 @@ def create_seed(type_seed):
return seed
except KeyError:
print("Ce type de graine est inconnu")
except:
print("probleme lors de la création de la graine")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment