Bonjour, je souhaite créé un jeu de mémoire. J'ai créée les cartes sous forme de bouton.
J'ai assigné a chaque bouton une fonction qui l'a fait se retourner:
Si la carte de meme image est déjà retournée alors je souhaite qu'elle attente 2 sec avant que les 2 disparaissent.
Si l'autre carte n'est pas retournée je veux qu'elle attende quelques seconde avant de se retournée à nouveau.
Or voici mon problème, si l'autre carte n'est pas retournée, la carte attend avant de se retournée puis se retourne et se re retourne tellement rapidement que ce n'est meme pas visible. Si l'autre carte est retournée elles disparaissent directement.
Comme si le time.sleep s'effectuait avant les autres ordres.
Je met l'exemple de la fonction d'un bouton
def retourner_carte1 ():
global etoile1_retournee
etoile1_retournee=1
if etoile2_retournee==1:
time.sleep(2)
dos6.place_forget()
dos1.place_forget()
global nombre_de_paires_trouvees
nombre_de_paires_trouvees=nombre_de_paires_trouvees+1
paires_trouvees.config(text=str(nombre_de_paires_trouvees)+" PAIRES TROUVEES")
if etoile2_retournee==0:
dos1.config(image=etoile)
time.sleep(2)
dos1.config(image=dos_carte)
Pas de sleep dans une interface graphique comme Tkinter.
Pour gérer la durée d'attente, on utilise la méthode after. Regarde mon tutoriel Tkinter qui explique de A à Z comment faire un jeu memory (lien dans ma signature) et en particulier la gestion du retournement de carte.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères