Skip to content
Snippets Groups Projects
Commit 8d1667b0 authored by Dolleans Geoffrey's avatar Dolleans Geoffrey
Browse files

tkinter 2/many

parent c9a1fdfd
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ 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 *
fenetre = Tk()
game_of_life = Toplevel(fenetre)
......@@ -10,6 +11,10 @@ universe = generate_universe((100,100))
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"""
width = game_of_life.winfo_width()
......@@ -26,6 +31,7 @@ def create_a_grid():
def update_grid():
"""mets la grille a jours """
global universe
for x in range(len(universe)):
for y in range (len(universe[0])):
if universe[x][y] == 0:
......@@ -38,10 +44,33 @@ def update_grid():
def create_cell_on_click(event):
"""créer une cellule vivante la ou l'utilisateur clique"""
global universe
x = event.x//(width/100)
y = event.y//(heigth/100)
universe[x][y] = 1
def add_seed_tk():
"""ajoute la graine donner dans la fenetre principale"""
global universe
type_seed = ligne_texte.get()
print(type_seed)
ligne_texte.config(text=" ")
seed = create_seed(type_seed)
"""Gestion d'exceptions"""
try:
x_start = rd.randint(0,size[0]-len(seed))
y_start = rd.randint(0,size[1]-len(seed[0]))
universe= add_seed_to_universe(seed, universe, x_start, y_start)
except:
print("la graine est trop grande pour l'univers")
button_add_seed = Button(fenetre, text="ajoute la graine",command=add_seed_tk)
button_add_seed.pack()
create_a_grid()
......
......@@ -8,21 +8,20 @@ from matplotlib import animation
import random as rd
def simulate(size, type_seed, iterations):
"""Size : taille de l'univers , Type_Seed : Type de la graine , Iterations : Nombre d'iterations d'univers"""
"""Création de l'univers et ajout de la graine"""
"""Size : taille de l'univers , Type_Seed : Type de la graine , Iterations : Nombre d'iterations d'univers"""
universe = generate_universe(size)
seed = create_seed(type_seed)
"""Choix aléatoire des coordonnées de la position aléatoire de la cellule tout en haut en gauche de la graine"""
x_start = rd.randint(0,size[0]-len(seed))
y_start = rd.randint(0,size[1]-len(seed[0]))
"""Ajout de la graine dans l'univers"""
universe = add_seed_to_universe(seed,universe,x_start,y_start)
"""Gestion d'exceptions"""
try:
x_start = rd.randint(0,size[0]-len(seed))
y_start = rd.randint(0,size[1]-len(seed[0]))
except:
print("la graine est trop grande pour l'univers")
"""Ajout de la graine dans l'univers"""
universe = add_seed_to_universe(seed,universe,x_start,y_start)
fig=plt.figure()
im=plt.imshow(universe,cmap="Greys",animated=True)
"""cmap : Chaine de caractère de coloriation de la figure , animated : Variable booléene pour l'activation de l'animation"""
......
......@@ -48,9 +48,10 @@ def create_seed(type_seed):
"Renvoie une graine du type indiqué"
try:
seed = seeds[type_seed]
except:
return seed
except KeyError:
print("Ce type de graine est inconnu")
return seed
def add_seed_to_universe(seed, universe, x_start, y_start):
......@@ -58,6 +59,7 @@ def add_seed_to_universe(seed, universe, x_start, y_start):
size_seed = (len(seed),len(seed[0]))
if size_seed[0]>len(universe) or size_seed[1]>len(universe[0]):
print("la graine est trop grande")
try:
for x in range (size_seed[0]):
for y in range (size_seed[1]):
......
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