sharto  | Bonjour, moi et mes partenaires nous avons besoin d'aide pour notre isn .   Dans mon mémory j'ai intégré un chronomètre mais je n'arrive pas à le placer ou je veux pour qu'il soit visible . (voir la flèche)     Merci de bien vouloir nous aider parce que nous sommes dans une impasse et je trouve ça dommage de laisser tomber ce chronomètre .
   L'image :  
  
   Le code :  
  Code :
 - from tkinter import *
 - from random import randint, shuffle
 - from timeit import default_timer
 - # ----- variables globales ---------------------------------------------------
 - images = []         # contient les liens aux fichiers images
 - cartes = []         # contient le lien vers l'image des différentes cartes
 - cartes_jouees = []  # contient les cartes jouées
 - nb_lignes, nb_colonnes = 5, 4
 - joueur_actuel = 0
 - score = [0,0]
 - fini = False
 - peut_jouer = True
 - # ----- Images ----------------------------------------------------------------
 - def charger_images():
 -     del images[:]   # vide la liste
 -     nb_images = 21  # l'image no 0 est le dos des cartes
 -     choixCartes = []
 -     choixCartes.append(0)#ajouter un element a la fin de la liste
 -     i=0
 -     while i < nb_images-1:           # tirage au sort des cartes à utiliser
 -         x = randint(1, nb_images-1)  #randomint pour le tirage aleatoire
 -         if x not in choixCartes:
 -             choixCartes.append(x)
 -             i += 1
 -     for i in range(nb_images):           # importation des images
 -         nom = 'carte-' + str(choixCartes[i]) + '.gif'
 -         image = PhotoImage(file = nom)
 -         images.append(image)
 - # ----- Melange des cartes -----------------------------------------------------
 - def melanger_cartes():
 -     global nb_colonnes, nb_lignes, cartes
 -     nb_cartes = nb_colonnes * nb_lignes
 -     cartes=list(range(1,nb_cartes//2+1))*2
 -     shuffle(cartes) #melange dans cartes
 - # ----- Retourne les deux cartes à la fin de la sélection ----------------------
 - def gerer_tirage():
 -     global nb_colonnes, nb_lignes, cartes_jouees
 -     global joueur_actuel, fini, peut_jouer
 -     if cartes[cartes_jouees[0]-1] == cartes[cartes_jouees[1]-1]:
 -         # enlève les cartes identiques. Le joueur actuel reste le même
 -         canvas.delete(cartes_jouees[0])
 -         canvas.delete(cartes_jouees[1])
 -         score[joueur_actuel] += 1
 -     else:
 -         # retourne les cartes différentes. Le joueur actuel change
 -         canvas.itemconfig(cartes_jouees[0], image = images[0])
 -         canvas.itemconfig(cartes_jouees[1], image = images[0])
 -     cartes_jouees = []
 -     text1 = 'Joueur 1 : ' + str(score[0]*2)
 -     points_joueur1.config(text = text1)
 -     peut_jouer = True           # réactive l'effet du clic de la souris
 -     if joueur_actuel == 0:      # celui qui joue est en orange
 -         points_joueur1.config(bg = 'orange')
 -     else:
 -         points_joueur1.config(bg = 'white')
 -     if score[0] + score[1] == (nb_colonnes*nb_lignes)//2:
 -         fini=True               # afficher le résultat de la partie
 -         if score[0] > score[1]:
 -             texte = "Facile non ?"
 -         canvas.create_rectangle(0,0,(110*nb_colonnes)+20,(110*nb_lignes)+20,
 -                                 fill='white')
 -         canvas.create_text((55*nb_colonnes)+10,(55*nb_lignes)+10,
 -                            text=texte,font='Calibri 24',fill='black')
 - # ----- Retourne la carte sélectionnée -----------------------------------------
 - def cliquer_carte(event):
 -     global fini, plateau, cartes_jouees, peut_jouer
 -     if len(cartes_jouees) < 2:
 -         carteSel = canvas.find_closest(event.x, event.y)
 -         carteID = carteSel[0]
 -         if fini:
 -             fini = False
 -             reinit()
 -         else:
 -             canvas.itemconfig(carteID, image = images[cartes[carteID-1]]) # montre la carte
 -             if len(cartes_jouees) == 0:
 -                 cartes_jouees.append(carteID)    # enregistre la carte jouée
 -             elif carteID != cartes_jouees[0]:    # ne pas cliquer 2x sur la même carte !
 -                 cartes_jouees.append(carteID)
 -     if peut_jouer and len(cartes_jouees) == 2:
 -         peut_jouer = False                  # désactive l'effet du clic de la souris
 -         plateau.after(1500,gerer_tirage)    # patiente 1,5 secondes avant de continuer
 - # -----  Change la taille du plateau de jeu  -------------------------------------
 - def jeu5x4():
 -     global nb_colonnes
 -     nb_colonnes = 4
 -     reinit()
 - def jeu5x6():
 -     global nb_colonnes
 -     nb_colonnes = 6
 -     reinit()
 - def jeu5x8():
 -     global nb_colonnes
 -     nb_colonnes = 8
 -     reinit()
 - # ----- création des menus et sous-menus ------------------------------------------
 - def creer_menus(fen):
 -     top = Menu(fen)
 -     fen.config(menu=top)
 -     jeu = Menu(top, tearoff=False)
 -     top.add_cascade(label='Jeu', menu=jeu)
 -     jeu.add_command(label='Nouvelle partie', command=reinit)
 -     submenu=Menu(jeu, tearoff=False)
 -     jeu.add_cascade(label='Dimensions', menu=submenu)
 -     submenu.add_command(label='5 x 4', command=jeu5x4)
 -     submenu.add_command(label='5 x 6', command=jeu5x6)
 -     submenu.add_command(label='5 x 8', command=jeu5x8)
 -     jeu.add_command(label='Quitter', command=fen.destroy)
 - # ----- Création du canvas --------------------------------------------------------
 - def creer_canevas(fen, col, lig):
 -     return Canvas(fen, width=(110*col)+10, height=(110*lig)+10, bg='white')
 - # ----- Modifier le canvas --------------------------------------------------------
 - # Redémarre une partie et change éventuellement la difficulté
 - def reinit():
 -     global canvas, joueur_actuel, score, nb_lignes, nb_colonnes
 -     joueur_actuel = 0
 -     score =[0,0]
 -     del cartes[:]
 -     del cartes_jouees[:]
 -     canvas.destroy()
 -     canvas = creer_canevas(plateau, nb_colonnes, nb_lignes)
 -     canvas.pack(side = TOP, padx = 5, pady = 5)
 -     canvas.bind("<Button-1>", cliquer_carte)    # permet le clic sur les cartes
 -     melanger_cartes()
 -     for i in range(nb_colonnes):                # dessin des cartes retournées
 -         for j in range(nb_lignes):
 -             canvas.create_image((110*i)+60, (110*j)+60, image=images[0])
 -     text1 = 'Joueur 1 : ' + str(score[0]*2)
 -     points_joueur1.config(text = text1, bg = 'orange')
 - # ----- Programme principal ----------------------------------------------------
 - fenetre = Tk()
 - fenetre.title("Memory" )
 - creer_menus(fenetre)
 - # création du canvas dont la taille dépend du nombre de cartes
 - plateau = Frame(fenetre)
 - plateau.pack()
 - canvas=creer_canevas(plateau, nb_colonnes, nb_lignes)
 - canvas.pack(side = TOP, padx = 2, pady = 2)
 - points_joueur1 = Label(fenetre, text = "Joueur 1 : 0",
 -                        bg="orange", font="Helvetica 16" )
 - points_joueur1.pack(pady = 2, side = LEFT)
 - charger_images()
 - melanger_cartes()
 - for i in range(nb_colonnes):                # dessin des cartes retournées
 -     for j in range(nb_lignes):
 -         canvas.create_image((110*i)+60, (110*j)+60, image = images[0])
 - canvas.bind("<Button-1>", cliquer_carte)    # permet le clic sur les cartes
 - def updateTime():
 -      now = default_timer() - start
 -      minutes, seconds = divmod(now, 60)
 -      hours, minutes = divmod(minutes, 60)
 -      str_time = "%d:%02d:%02d" % (hours, minutes, seconds)
 -      canvas.itemconfigure(text_clock, text=str_time)
 -      fenetre.after(1000, updateTime)
 - start = default_timer()
 - text_clock = canvas.create_text(60,60)
 - updateTime()
 - fenetre.mainloop()
 
  |  
    |