Browse Source

fonction load à voir et save

sans_fonction
philippot.m 4 weeks ago
parent
commit
66d8382a8b
  1. 69
      jeu_de_la_vie.py

69
jeu_de_la_vie.py

@ -1,10 +1,17 @@
import tkinter as tk from tkinter import *
from copy import deepcopy from copy import deepcopy
from time import sleep from time import sleep
lst_c=[] lst_c=[]
lst_grille=[] lst_grille=[]
f_cont=[] f_cont=[]
########Fonction interface utilisateur########### ########Fonction interface utilisateur###########
def bouton_grille():
global nb_ligne
global nb_colonne
nb_ligne=nb_ligne_choisi.get()
nb_colonne=nb_colonne_choisi.get()
creer_grille()
def creer_grille(): def creer_grille():
global taille_carré global taille_carré
global lst_c global lst_c
@ -15,8 +22,6 @@ def creer_grille():
for detruire_col in range(0,len(lst_c[0])): for detruire_col in range(0,len(lst_c[0])):
zone.delete(lst_c[detruire_l][detruire_col]) zone.delete(lst_c[detruire_l][detruire_col])
##############création_grille########## ##############création_grille##########
nb_ligne=nb_ligne_choisi.get()
nb_colonne=nb_colonne_choisi.get()
grille =[] grille =[]
lst_grille=[] lst_grille=[]
for ligne in range(0,nb_ligne): for ligne in range(0,nb_ligne):
@ -109,56 +114,72 @@ def stop():
#########Fonction système sauvegarde######## #########Fonction système sauvegarde########
def save(): def save():
state=open("grille_jeu.txt","w") state=open("grille_jeu.txt","w")
state.write("[[") state.write("[")
for ligne in range (0,len(grille)): for ligne in range (0,len(grille)):
if ligne!=0 or ligne==len(grille)-1: if ligne!=0:
state.write("],[") print("a")
state.write("""]'[""")
for col in range (0,len(grille[0])): for col in range (0,len(grille[0])):
if col == len(grille[0])-1: if col == len(grille[0])-1:
print(col,len(grille[0])-1)
state.write(str(grille[ligne][col])) state.write(str(grille[ligne][col]))
else: else:
state.write(str(grille[ligne][col])+",") state.write(str(grille[ligne][col])+",")
state.write("]]") state.write("]")
def load(): def load():
new_state=open(tk.filedialog.askopenfilename(initialdir = "/",title = "Choisir un fichier",filetypes = (("Text files","*.txt*"),)),"r") global grille
global nb_ligne
global nb_colonne
#new_state=open(filedialog.askopenfilename(initialdir = "/",title = "Choisir un fichier",filetypes = (("Text files","*.txt*"),)),"r")
new_state=open("grille_jeu.txt","r")
new_state=new_state.read()
print(new_state)
new_state=new_state.split("'")
print(new_state)
for new in range(0,len(new_state)):
1
nb_ligne=len(new_state[0])
print(nb_ligne)
nb_colonne=len(new_state[0][0])
print(nb_colonne)
creer_grille()
##########Programme principale############## ##########Programme principale##############
fenetre = tk.Tk() fenetre = Tk()
fenetre.title("Jeu Amoa") fenetre.title("Jeu Amoa")
zone = tk.Canvas(fenetre , height =795 , width =1246 , bg="#ffffff") zone = Canvas(fenetre , height =795 , width =1246 , bg="#ffffff")
zone.grid(row=1,column=2,rowspan=9) zone.grid(row=1,column=2,rowspan=9)
##################Grille#################### ##################Grille####################
nb_ligne_choisi=tk.IntVar() nb_ligne_choisi=IntVar()
mess_ligne=tk.Label(text="Nombre de ligne choisi") mess_ligne=Label(text="Nombre de ligne choisi")
mess_ligne.grid(row=1,column=1) mess_ligne.grid(row=1,column=1)
choix_l=tk.Entry(textvariable=nb_ligne_choisi,bd=5) choix_l=Entry(textvariable=nb_ligne_choisi,bd=5)
choix_l.grid(row=2,column=1) choix_l.grid(row=2,column=1)
nb_colonne_choisi=tk.IntVar() nb_colonne_choisi=IntVar()
mess_col=tk.Label(text="Nombre de colone choisi") mess_col=Label(text="Nombre de colone choisi")
mess_col.grid(row=3,column=1) mess_col.grid(row=3,column=1)
choix_col=tk.Entry(textvariable=nb_colonne_choisi,bd=5) choix_col=Entry(textvariable=nb_colonne_choisi,bd=5)
choix_col.grid(row=4,column=1) choix_col.grid(row=4,column=1)
bout_g=tk.Button(text="Créer la grille",command= creer_grille) bout_g=Button(text="Créer la grille",command= bouton_grille)
bout_g.grid(row=5,column=1) bout_g.grid(row=5,column=1)
################Génération################## ################Génération##################
suivant=tk.Button(text="Prochaine génération",command= gen_suiv) suivant=Button(text="Prochaine génération",command= gen_suiv)
suivant.grid(row=6,column=1) suivant.grid(row=6,column=1)
precedent=tk.Button(text="génération précédente",command= gen_prev) precedent=Button(text="génération précédente",command= gen_prev)
precedent.grid(row=7,column=1) precedent.grid(row=7,column=1)
gen_continue=tk.Button(text="Génération en continue",command= gen_cont) gen_continue=Button(text="Génération en continue",command= gen_cont)
gen_continue.grid(row=8,column=1) gen_continue.grid(row=8,column=1)
stop=tk.Button(text="Stop",command=stop) stop=Button(text="Stop",command=stop)
stop.grid(row=9,column=1) stop.grid(row=9,column=1)
################Système sauvegarde########## ################Système sauvegarde##########
save=tk.Button(text="Sauvegarder",command=save) save=Button(text="Sauvegarder",command=save)
save.grid(row=4,column=3) save.grid(row=4,column=3)
load=tk.Button(text="Charger",command=load) load=Button(text="Charger",command=load)
load.grid(row=5,column=3) load.grid(row=5,column=3)
zone.bind_all('<Button-3>', change) zone.bind_all('<Button-3>', change)
fenetre.mainloop() fenetre.mainloop()
Loading…
Cancel
Save