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 .

Voici une image pour illustrer mes propos :
Nom : efbf3b5e349e40d695f751abd3bcc91b.png
Affichages : 686
Taille : 56,8 Ko


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
 
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()