Bonjour à tous, je suis un jeune lycéen qui fait la section "ISN" au lycée et j'ai réalisé avec 2 camarades un jeu en python.Le problème c'est que je suis débutant en python et je ne sais plus exactement ce que signifie chaque lignes de mon programme ( car certaines ont été réalisées à l'aide de mes professeurs) et j'aimerais être sur de comprendre chacune d'elle car j'ai un oral ou je devrais présenter précisément le programme

voici le code du programme avec des annotations pour chaque des lignes de code, mais je ne sais pas si elles sont exactes

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
from tkinter import *
global compteur    #mettre en place le compteur pour empêcher de cliquer sur plus de 3 cases pendant 1 tour
compteur=0         #mettre le compteur a 0 (pour ne pas cliquer 2 fois sur une même case)
table=[]           #mise en place de la table afin de place les images dedans
table=[[1 for i in range (0,5)] for j in range(0,5)]    #division de la table pour avoir 5 colonnes et 5 lignes
global joueur      #mettre en place le changement du joueur
joueur=0           #mettre le compteur du joueur a 0
 
def jeu():
    N=5      # dimensions                   
    L=63
    H=90
    def changer():     #changer de joueur
        global joueur,compteur 
        joueur=0     #mettre le compteur du joueur a 0 à chaque tour
        compteur=0   #mettre le compteur a 0 pour ne pas cliquer 2 fois sur une même case
 
    def pointeur(event):  #fonction qui permet de cliquer sur les cases
        global M1,M2,M3,M4,compteur,joueur,compteur25
        if (joueur==0 and compteur<3) :  #conditions lorsque le joueur qui commence de jouer et ne clique pas sur plus de 3 cases
            X=event.x #situer de le clique en x et y
            Y=event.y
            X1=(event.x//63) #placer le clique sur une case 
            Y1=(event.y//90)
            if table [X1][Y1]==1: #vérifier si on a cliquer sur la case
                table [X1][Y1]=0
                compteur+=1
                cadre.create_image(X1*63, Y1*90,image=cand1,anchor="nw") #placer la bougie éteinte
            if compteur==3: #verification des trois cliques 
                    print ('Changer de joueur')
                    joueur=1   
            print(X1,Y1)
            print(X,Y)
 
 
    fen=Toplevel()  #Ouverture du jeu dans une nouvelle fenêtre 
    fen.grab_set()  
    cadre=Canvas(fen,width=L*N, height= H*N,bg= "#bbb") #création de la fenêtre
    cadre.bind("<Button-1>",pointeur) 
    cand=PhotoImage(file="45fab8dc.gif") #on nomme cand l'image allumée
    cand1=PhotoImage(file="eteint.gif")  #on nomme candl l'image éteinte
    cadre.grid(row=0)  #création de la grille             
    chaine=Label(fen)
    chaine.grid(row=1)
    bout11=Button(fen,text="Retour au menu",width=15,command=fen.quit) # bouton de retour au menu, fermeture de la fenetre du jeu
    bout11.grid(row=2,column=1) #emplacement du bouton
    bout12=Button(fen,text="Joueur suivant",width=15,command=changer)#bouton joueur suivant 
    bout12.grid(row=3,column=1) # emplacement du bouton 
 
    label=Label(fen)
    label.grid(row=4,column=1)          # place une ligne d'écriture en ligne 4 colonne 1
                           # appelle la fonction qui dessine le damier
 
    for i in range(N):  #placement de images 
        for j in range(N):
            cadre.create_image(i*L, j*H,image=cand,anchor="nw")
 
 
    fen.mainloop()
    fen.destroy()
 
 
def règles():  #fonction appelant les règles du jeu
    r=Toplevel() 
    r.grab_set()
    r.title ('Règles Du Jeu')
    regle1=Label(r,text='Ce jeu se joue à deux joueurs.')
    regle2=Label(r,text='Les joueurs éteignes de une à trois bougies par tours.')
    regle3=Label(r,text='Le joueur perdant est le joueur qui éteint la 25ème bougie.')
    regle4=Label(r,text='Pour éteindre les bougies il suffit de cliquer dessus')
    regle5=Label(r,text='Voilà, vous savez maintenant jouer.')
    regle6=Label(r,text='A vous de jouer, bonne chance')
    regle1.pack()
    regle2.pack()
    regle3.pack()
    regle4.pack()
    regle5.pack()
    regle6.pack()
    bout4 = Button(r,text="Retour au menu",command=r.destroy)
    bout4.pack()
 
 
main = Tk()
main.geometry("500x500") #dimension cadre menu 
main.title ('Jeu Bougie') #
main ['bg'] = '#EFECCA'   
titre = Label(main,text="Turn of the light")#titre du jeu
 
bout1 = Button(main,text="Jouer",width=15,command=jeu) #creation bouton joueur
bout2 = Button(main,text="Règles",width=15,command=règles)
bout3 = Button(main,text="Quitter",width=15,command=main.destroy)
titre.pack()
bout1.pack(pady=60) #espacement entre les boutons 
bout2.pack(pady=60)
bout3.pack(pady=60)
si vous pouviez m'aider à corriger les annotations qui sont fausses je vous en serai très reconnaissant