Pour le Bac, je dois faire un mémory avec python mais je rencontre un petit problème.
Je n'arrive pas à trouver une méthode pour faire en sorte que 2 cartes se retournent lorsqu'elles sont différentes ou au contraire qu'elles disparaissent lorsqu’elles sont identiques...
Pouvez vous m'aider, s'il vous plait ?
Je vous remercie par avance
A Bientôt
Code : Tout sélectionner
#!/usr/bin/python3
# -*- coding: Utf-8 -*
from tkinter import *
from random import shuffle
def ouvrir_sous_fenetre1():
def restart():
global listecartes #mette liste pour le reste du programme
listecartes=[bougie,bougie,biche,biche,flocon,flocon,cadeau,cadeau]
shuffle(listecartes)
lab1.configure(image=facecachee)
lab2.configure(image=facecachee)
lab3.configure(image=facecachee)
lab4.configure(image=facecachee)
lab5.configure(image=facecachee)
lab6.configure(image=facecachee)
lab7.configure(image=facecachee)
lab8.configure(image=facecachee)
def retourner1():
lab1.configure(image=listecartes[0])
def retourner2():
lab2.configure(image=listecartes[1])
def retourner3():
lab3.configure(image=listecartes[2])
def retourner4():
lab4.configure(image=listecartes[3])
def retourner5():
lab5.configure(image=listecartes[4])
def retourner6():
lab6.configure(image=listecartes[5])
def retourner7():
lab7.configure(image=listecartes[6])
def retourner8():
lab8.configure(image=listecartes[7])
fenetre1=Toplevel(fenetre)
fenetre1.title("Memory")
fenetre.iconbitmap("logo.ico")
largeur=860
hauteur=512
LEcran=fenetre1.winfo_screenwidth()
HEcran=fenetre1.winfo_screenheight()
X=(LEcran/2)-(largeur/2)
Y=(HEcran/2)-(hauteur/2)
fenetre1.geometry('%dx%d+%d+%d'%(largeur,hauteur,X,Y))
fenetre1.resizable(height=False,width=False)
facecachee=PhotoImage(file='niveau1/facecachee1.gif')
bougie=PhotoImage(file='niveau1/bougie.gif')
biche=PhotoImage(file='niveau1/biche.gif')
flocon=PhotoImage(file='niveau1/flocon.gif')
cadeau=PhotoImage(file='niveau1/cadeau.gif')
listecartes=[bougie,bougie,biche,biche,flocon,flocon,cadeau,cadeau]
#print(listecartes)
shuffle(listecartes)
#print(listecartes)
lab1=listecartes[0]
lab2=listecartes[1]
lab3=listecartes[2]
lab4=listecartes[3]
lab5=listecartes[4]
lab6=listecartes[5]
lab7=listecartes[6]
lab8=listecartes[7]
lab1=Button(fenetre1,image=facecachee,command=retourner1)
lab1.grid(row=0,column=0)
lab2=Button(fenetre1,image=facecachee,command=retourner2)
lab2.grid(row=0,column=1)
lab3=Button(fenetre1,image=facecachee,command=retourner3)
lab3.grid(row=0,column=2)
lab4=Button(fenetre1,image=facecachee,command=retourner4)
lab4.grid(row=0,column=3)
lab5=Button(fenetre1,image=facecachee,command=retourner5)
lab5.grid(row=1,column=0)
lab6=Button(fenetre1,image=facecachee,command=retourner6)
lab6.grid(row=1,column=1)
lab7=Button(fenetre1,image=facecachee,command=retourner7)
lab7.grid(row=1,column=2)
lab8=Button(fenetre1,image=facecachee,command=retourner8)
lab8.grid(row=1,column=3)
restart=Button(fenetre1,text="Recommencer",borderwidth=5, command=restart)
restart.grid(row=0,column=4,pady=10,padx=10)
quitter=Button(fenetre1,text="Quitter",borderwidth=5,command=fenetre1.destroy)
quitter.grid(row=1,column=4,pady=10,padx=10)
def ouvrir_sous_fenetre2():
def restart():
global listecartes #mette liste pour le reste du programme
listecartes=[fleurviolet,fleurviolet,fleurrose,fleurrose,coquelicots,coquelicots,fleurorange,fleurorange,fleurbleue,fleurbleue,fleurjaune,fleurjaune]
shuffle(listecartes)
lab1.configure(image=facecachee)
lab2.configure(image=facecachee)
lab3.configure(image=facecachee)
lab4.configure(image=facecachee)
lab5.configure(image=facecachee)
lab6.configure(image=facecachee)
lab7.configure(image=facecachee)
lab8.configure(image=facecachee)
lab9.configure(image=facecachee)
lab10.configure(image=facecachee)
lab11.configure(image=facecachee)
lab12.configure(image=facecachee)
def retourner1():
lab1.configure(image=listecartes[0])
def retourner2():
lab2.configure(image=listecartes[1])
def retourner3():
lab3.configure(image=listecartes[2])
def retourner4():
lab4.configure(image=listecartes[3])
def retourner5():
lab5.configure(image=listecartes[4])
def retourner6():
lab6.configure(image=listecartes[5])
def retourner7():
lab7.configure(image=listecartes[6])
def retourner8():
lab8.configure(image=listecartes[7])
def retourner9():
lab9.configure(image=listecartes[8])
def retourner10():
lab10.configure(image=listecartes[9])
def retourner11():
lab11.configure(image=listecartes[10])
def retourner12():
lab12.configure(image=listecartes[11])
fenetre2=Toplevel(fenetre)
fenetre2.title("Memory")
fenetre2.iconbitmap("logo.ico")
largeur=770
hauteur=682
LEcran=fenetre2.winfo_screenwidth()
HEcran=fenetre2.winfo_screenheight()
X=(LEcran/2)-(largeur/2)
Y=(HEcran/2)-(hauteur/2)
fenetre2.geometry('%dx%d+%d+%d'%(largeur,hauteur,X,Y))
fenetre2.resizable(height=False,width=False)
facecachee=PhotoImage(file='niveau2/facecachee2.gif')
fleurviolet=PhotoImage(file='niveau2/fleurviolet.gif')
fleurrose=PhotoImage(file='niveau2/fleurrose.gif')
coquelicots=PhotoImage(file='niveau2/coquelicots.gif')
fleurorange=PhotoImage(file='niveau2/fleurorange.gif')
fleurbleue=PhotoImage(file='niveau2/fleurbleue.gif')
fleurjaune=PhotoImage(file='niveau2/fleurjaune.gif')
listecartes=[fleurviolet,fleurviolet,fleurrose,fleurrose,coquelicots,coquelicots,fleurorange,fleurorange,fleurbleue,fleurbleue,fleurjaune,fleurjaune]
#print(listecartes)
shuffle(listecartes)
#print(listecartes)
lab1=listecartes[0]
lab2=listecartes[1]
lab3=listecartes[2]
lab4=listecartes[3]
lab5=listecartes[4]
lab6=listecartes[5]
lab7=listecartes[6]
lab8=listecartes[7]
lab9=listecartes[8]
lab10=listecartes[9]
lab11=listecartes[10]
lab12=listecartes[11]
lab1=Button(fenetre2,image=facecachee,command=retourner1)
lab1.grid(row=0,column=0)
lab2=Button(fenetre2,image=facecachee,command=retourner2)
lab2.grid(row=0,column=1)
lab3=Button(fenetre2,image=facecachee,command=retourner3)
lab3.grid(row=0,column=2)
lab4=Button(fenetre2,image=facecachee,command=retourner4)
lab4.grid(row=0,column=3)
lab5=Button(fenetre2,image=facecachee,command=retourner5)
lab5.grid(row=1,column=0)
lab6=Button(fenetre2,image=facecachee,command=retourner6)
lab6.grid(row=1,column=1)
lab7=Button(fenetre2,image=facecachee,command=retourner7)
lab7.grid(row=1,column=2)
lab8=Button(fenetre2,image=facecachee,command=retourner8)
lab8.grid(row=1,column=3)
lab9=Button(fenetre2,image=facecachee,command=retourner9)
lab9.grid(row=2,column=0)
lab10=Button(fenetre2,image=facecachee,command=retourner10)
lab10.grid(row=2,column=1)
lab11=Button(fenetre2,image=facecachee,command=retourner11)
lab11.grid(row=2,column=2)
lab12=Button(fenetre2,image=facecachee,command=retourner12)
lab12.grid(row=2,column=3)
restart=Button(fenetre2,text="Recommencer",borderwidth=5,command=restart)
restart.grid(row=0,column=4,pady=10,padx=10)
quitter=Button(fenetre2,text="Quitter",borderwidth=5,command=fenetre2.destroy)
quitter.grid(row=2,column=4,pady=10,padx=10)
def ouvrir_sous_fenetre3():
def restart():
global listecartes #mette liste pour le reste du programme
listecartes=[chill,chill,coucherdesoleil,coucherdesoleil,drinks,drinks,glace,glace,parc,parc,plage,plage,soleil,soleil,sunglass,sunglass]
shuffle(listecartes)
lab1.configure(image=facecachee)
lab2.configure(image=facecachee)
lab3.configure(image=facecachee)
lab4.configure(image=facecachee)
lab5.configure(image=facecachee)
lab6.configure(image=facecachee)
lab7.configure(image=facecachee)
lab8.configure(image=facecachee)
lab9.configure(image=facecachee)
lab10.configure(image=facecachee)
lab11.configure(image=facecachee)
lab12.configure(image=facecachee)
lab13.configure(image=facecachee)
lab14.configure(image=facecachee)
lab15.configure(image=facecachee)
lab16.configure(image=facecachee)
def retourner1():
lab1.configure(image=listecartes[0])
def retourner2():
lab2.configure(image=listecartes[1])
def retourner3():
lab3.configure(image=listecartes[2])
def retourner4():
lab4.configure(image=listecartes[3])
def retourner5():
lab5.configure(image=listecartes[4])
def retourner6():
lab6.configure(image=listecartes[5])
def retourner7():
lab7.configure(image=listecartes[6])
def retourner8():
lab8.configure(image=listecartes[7])
def retourner9():
lab9.configure(image=listecartes[8])
def retourner10():
lab10.configure(image=listecartes[9])
def retourner11():
lab11.configure(image=listecartes[10])
def retourner12():
lab12.configure(image=listecartes[11])
def retourner13():
lab13.configure(image=listecartes[12])
def retourner14():
lab14.configure(image=listecartes[13])
def retourner15():
lab15.configure(image=listecartes[14])
def retourner16():
lab16.configure(image=listecartes[15])
fenetre3=Toplevel(fenetre)
fenetre3.title("Memory")
fenetre3.iconbitmap("logo.ico")
largeur=610
hauteur=690
LEcran=fenetre3.winfo_screenwidth()
HEcran=fenetre3.winfo_screenheight()
X=(LEcran/2)-(largeur/2)
Y=(HEcran/2)-(hauteur/2)
fenetre3.geometry('%dx%d+%d+%d'%(largeur,hauteur,X,Y))
fenetre3.resizable(height=False,width=False)
facecachee=PhotoImage(file='niveau3/facecachee.gif')
chill=PhotoImage(file='niveau3/chill.gif')
coucherdesoleil=PhotoImage(file='niveau3/coucherdesoleil.gif')
drinks=PhotoImage(file='niveau3/drinks.gif')
glace=PhotoImage(file='niveau3/glace.gif')
parc=PhotoImage(file='niveau3/parc.gif')
plage=PhotoImage(file='niveau3/plage.gif')
soleil=PhotoImage(file='niveau3/soleil.gif')
sunglass=PhotoImage(file='niveau3/sunglass.gif')
listecartes=[chill,chill,coucherdesoleil,coucherdesoleil,drinks,drinks,glace,glace,parc,parc,plage,plage,soleil,soleil,sunglass,sunglass]
#print(listecartes)
shuffle(listecartes)
#print(listecartes)
lab1=listecartes[0]
lab2=listecartes[1]
lab3=listecartes[2]
lab4=listecartes[3]
lab5=listecartes[4]
lab6=listecartes[5]
lab7=listecartes[6]
lab8=listecartes[7]
lab9=listecartes[8]
lab10=listecartes[9]
lab11=listecartes[10]
lab12=listecartes[11]
lab13=listecartes[12]
lab14=listecartes[13]
lab15=listecartes[14]
lab16=listecartes[15]
lab1=Button(fenetre3,image=facecachee,command=retourner1)
lab1.grid(row=0,column=0)
lab2=Button(fenetre3,image=facecachee,command=retourner2)
lab2.grid(row=0,column=1)
lab3=Button(fenetre3,image=facecachee,command=retourner3)
lab3.grid(row=0,column=2)
lab4=Button(fenetre3,image=facecachee,command=retourner4)
lab4.grid(row=0,column=3)
lab5=Button(fenetre3,image=facecachee,command=retourner5)
lab5.grid(row=1,column=0)
lab6=Button(fenetre3,image=facecachee,command=retourner6)
lab6.grid(row=1,column=1)
lab7=Button(fenetre3,image=facecachee,command=retourner7)
lab7.grid(row=1,column=2)
lab8=Button(fenetre3,image=facecachee,command=retourner8)
lab8.grid(row=1,column=3)
lab9=Button(fenetre3,image=facecachee,command=retourner9)
lab9.grid(row=2,column=0)
lab10=Button(fenetre3,image=facecachee,command=retourner10)
lab10.grid(row=2,column=1)
lab11=Button(fenetre3,image=facecachee,command=retourner11)
lab11.grid(row=2,column=2)
lab12=Button(fenetre3,image=facecachee,command=retourner12)
lab12.grid(row=2,column=3)
lab13=Button(fenetre3,image=facecachee,command=retourner13)
lab13.grid(row=3,column=0)
lab14=Button(fenetre3,image=facecachee,command=retourner14)
lab14.grid(row=3,column=1)
lab15=Button(fenetre3,image=facecachee,command=retourner15)
lab15.grid(row=3,column=2)
lab16=Button(fenetre3,image=facecachee,command=retourner16)
lab16.grid(row=3,column=3)
restart=Button(fenetre3,text="Recommencer",borderwidth=5,command=restart)
restart.grid(row=0,column=4,pady=10,padx=10)
quitter=Button(fenetre3,text="Quitter",borderwidth=5,command=fenetre3.destroy)
quitter.grid(row=3,column=4,pady=10,padx=10)
def ouvrir_sous_fenetre4():
def restart():
global listecartes #mette liste pour le reste du programme
listecartes=[feuille1,feuille1,feuille2,feuille2,feuille3,feuille3,feuille4,feuille4,feuille5,feuille5,feuille6,feuille6,feuille7,feuille7,feuille8,feuille8,feuille9,feuille9,feuille10,feuille10]
shuffle(listecartes)
lab1.configure(image=facecachee)
lab2.configure(image=facecachee)
lab3.configure(image=facecachee)
lab4.configure(image=facecachee)
lab5.configure(image=facecachee)
lab6.configure(image=facecachee)
lab7.configure(image=facecachee)
lab8.configure(image=facecachee)
lab9.configure(image=facecachee)
lab10.configure(image=facecachee)
lab11.configure(image=facecachee)
lab12.configure(image=facecachee)
lab13.configure(image=facecachee)
lab14.configure(image=facecachee)
lab15.configure(image=facecachee)
lab16.configure(image=facecachee)
lab17.configure(image=facecachee)
lab18.configure(image=facecachee)
lab19.configure(image=facecachee)
lab20.configure(image=facecachee)
def retourner1():
lab1.configure(image=listecartes[0])
def retourner2():
lab2.configure(image=listecartes[1])
def retourner3():
lab3.configure(image=listecartes[2])
def retourner4():
lab4.configure(image=listecartes[3])
def retourner5():
lab5.configure(image=listecartes[4])
def retourner6():
lab6.configure(image=listecartes[5])
def retourner7():
lab7.configure(image=listecartes[6])
def retourner8():
lab8.configure(image=listecartes[7])
def retourner9():
lab9.configure(image=listecartes[8])
def retourner10():
lab10.configure(image=listecartes[9])
def retourner11():
lab11.configure(image=listecartes[10])
def retourner12():
lab12.configure(image=listecartes[11])
def retourner13():
lab13.configure(image=listecartes[12])
def retourner14():
lab14.configure(image=listecartes[13])
def retourner15():
lab15.configure(image=listecartes[14])
def retourner16():
lab16.configure(image=listecartes[15])
def retourner17():
lab17.configure(image=listecartes[16])
def retourner18():
lab18.configure(image=listecartes[17])
def retourner19():
lab19.configure(image=listecartes[18])
def retourner20():
lab20.configure(image=listecartes[19])
fenetre4=Toplevel(fenetre)
fenetre4.title("Memory")
fenetre4.iconbitmap("logo.ico")
largeur=640
hauteur=578
LEcran=fenetre4.winfo_screenwidth()
HEcran=fenetre4.winfo_screenheight()
X=(LEcran/2)-(largeur/2)
Y=(HEcran/2)-(hauteur/2)
fenetre4.geometry('%dx%d+%d+%d'%(largeur,hauteur,X,Y))
fenetre4.resizable(height=False, width=False)
facecachee=PhotoImage(file='niveau4/facecachee.gif')
feuille1=PhotoImage(file='niveau4/feuille1.gif')
feuille2=PhotoImage(file='niveau4/feuille2.gif')
feuille3=PhotoImage(file='niveau4/feuille3.gif')
feuille4=PhotoImage(file='niveau4/feuille4.gif')
feuille5=PhotoImage(file='niveau4/feuille5.gif')
feuille6=PhotoImage(file='niveau4/feuille6.gif')
feuille7=PhotoImage(file='niveau4/feuille7.gif')
feuille8=PhotoImage(file='niveau4/feuille8.gif')
feuille9=PhotoImage(file='niveau4/feuille9.gif')
feuille10=PhotoImage(file='niveau4/feuille10.gif')
listecartes=[feuille1,feuille1,feuille2,feuille2,feuille3,feuille3,feuille4,feuille4,feuille5,feuille5,feuille6,feuille6,feuille7,feuille7,feuille8,feuille8,feuille9,feuille9,feuille10,feuille10]
#print(listecartes)
shuffle(listecartes)
#print(listecartes)
lab1=listecartes[0]
lab2=listecartes[1]
lab3=listecartes[2]
lab4=listecartes[3]
lab5=listecartes[4]
lab6=listecartes[5]
lab7=listecartes[6]
lab8=listecartes[7]
lab9=listecartes[8]
lab10=listecartes[9]
lab11=listecartes[10]
lab12=listecartes[11]
lab13=listecartes[12]
lab14=listecartes[13]
lab15=listecartes[14]
lab16=listecartes[15]
lab17=listecartes[16]
lab18=listecartes[17]
lab19=listecartes[18]
lab20=listecartes[19]
lab1=Button(fenetre4,image=facecachee,command=retourner1)
lab1.grid(row=0,column=0)
lab2=Button(fenetre4,image=facecachee,command=retourner2)
lab2.grid(row=0,column=1)
lab3=Button(fenetre4,image=facecachee,command=retourner3)
lab3.grid(row=0,column=2)
lab4=Button(fenetre4,image=facecachee,command=retourner4)
lab4.grid(row=0,column=3)
lab5=Button(fenetre4,image=facecachee,command=retourner5)
lab5.grid(row=0,column=4)
lab6=Button(fenetre4,image=facecachee,command=retourner6)
lab6.grid(row=1,column=0)
lab7=Button(fenetre4,image=facecachee,command=retourner7)
lab7.grid(row=1,column=1)
lab8=Button(fenetre4,image=facecachee,command=retourner8)
lab8.grid(row=1,column=2)
lab9=Button(fenetre4,image=facecachee,command=retourner9)
lab9.grid(row=1,column=3)
lab10=Button(fenetre4,image=facecachee,command=retourner10)
lab10.grid(row=1,column=4)
lab11=Button(fenetre4,image=facecachee,command=retourner11)
lab11.grid(row=2,column=0)
lab12=Button(fenetre4,image=facecachee,command=retourner12)
lab12.grid(row=2,column=1)
lab13=Button(fenetre4,image=facecachee,command=retourner13)
lab13.grid(row=2,column=2)
lab17=Button(fenetre4,image=facecachee,command=retourner17)
lab17.grid(row=2,column=3)
lab19=Button(fenetre4,image=facecachee,command=retourner19)
lab19.grid(row=2,column=4)
lab14=Button(fenetre4,image=facecachee,command=retourner14)
lab14.grid(row=3,column=0)
lab15=Button(fenetre4,image=facecachee,command=retourner15)
lab15.grid(row=3,column=1)
lab16=Button(fenetre4,image=facecachee,command=retourner16)
lab16.grid(row=3,column=2)
lab18=Button(fenetre4,image=facecachee,command=retourner18)
lab18.grid(row=3,column=3)
lab20=Button(fenetre4,image=facecachee,command=retourner20)
lab20.grid(row=3,column=4)
restart=Button(fenetre4,text="Recommencer",borderwidth=5,command=restart)
restart.grid(row=0,column=5,pady=10,padx=10)
quitter=Button(fenetre4,text="Quitter",borderwidth=5,command=fenetre4.destroy)
quitter.grid(row=3,column=5,pady=10,padx=10)
fenetre=Tk()
fenetre.title("Memory")
fenetre.iconbitmap("logo.ico")
largeur=300
hauteur=300
LEcran=fenetre.winfo_screenwidth()
HEcran=fenetre.winfo_screenheight()
X=(LEcran/2)-(largeur/2)
Y=(HEcran/2)-(hauteur/2)
fenetre.geometry('%dx%d+%d+%d'%(largeur,hauteur,X,Y))
fenetre.resizable(height=False,width=False)
main_menu=Menu(fenetre) # Barre de Menu
menu=Menu(main_menu,tearoff=0)#permet de ne pas ouvrir le menu sur une autre page
menu.add_command(label="Niveau1",command=ouvrir_sous_fenetre1)
menu.add_command(label="Niveau2",command=ouvrir_sous_fenetre2)
menu.add_command(label="Niveau3",command=ouvrir_sous_fenetre3)
menu.add_command(label="Niveau4",command=ouvrir_sous_fenetre4)
main_menu.add_cascade(label="Niveau",menu=menu)#permet d'afficher dans menu
texte=Label(fenetre,text="\nBonjour et Bienvenue !\n\nAujourd'hui, nous vous présentons le mémory ACFK\nqui vous fera, comme son nom l'indique\ntravaller votre mémoire ;)\n\nRègle du jeu :\n\nUne fois votre niveau choisi (en haut à gauche),\nvous allez devoir retrouver toutes les paires.\nPour cela, il faudra retourner 2 cartes.\nSi les cartes sont différentes, elles se retournerons,\nsi elles sont identiques alors elles diparaîtrons.\n\nJe vous souhaite bonne chance et à très vite ;)",fg='blue')
texte.pack()
fenetre.config(menu=main_menu)
fenetre.mainloop()