Bonjour à tous, je suis en terminale S et j'ai pris la spécialité Isn car je m'intéresse à l'informatique. Pour mon projet de fin d'année j'ai décidé de faire une sorte de partie de ping pong en tkinter, mon programme à du mal à avancer mais il est trop tard pour faire demi tour. J'ai besoin de votre aide car je suis bloqué (message d'erreur) et je ne comprend pas pourquoi.Aidez moi svp. Voici mon programme :

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
from tkinter import * 
import math,random
fenetre = Tk()
 
LARGEUR = 480
HAUTEUR = 320
RAYON = 5 # rayon de la balle
 
# position initiale au milieu
X = LARGEUR/2
Y = HAUTEUR/2
 
# direction initiale aléatoire
vitesse = random.uniform(1.8,2)*5
angle = random.uniform(0,2*math.pi)
DX = vitesse*math.cos(angle)
DY = vitesse*math.sin(angle)
 
# fonction touche clavier
def clavier(event):
    global coords
 
    touche = event.keysym
 
    if touche == "Up":
        coords = (coords[0], coords[1] - 10)
    elif touche == "Down":
        coords = (coords[0], coords[1] + 10)
 
    # changement de coordonnées pour le rectangle
    canvas.coords(rectangle, coords[0], coords[1], coords[0]+25, coords[1]+50)
 
# fonction déplacement de balle
def deplacement():
    global X,Y,DX,DY,RAYON,LARGEUR,HAUTEUR
 
    # rebond à droite
    if X+RAYON+DX > LARGEUR:
        X = 2*(LARGEUR-RAYON)-X
        DX = -DX
 
    # rebond à gauche
    if X-RAYON+DX < 0:
        X = 2*RAYON-X
        DX = -DX
 
    # rebond en bas
    if Y+RAYON+DY > HAUTEUR:
        Y = 2*(HAUTEUR-RAYON)-Y
        DY = -DY
 
    # rebond en haut
    if Y-RAYON+DY < 0:
        Y = 2*RAYON-Y
        DY = -DY
 
    X = X+DX
    Y = Y+DY
 
    # affichage
    canvas.coords(Balle,X-RAYON,Y-RAYON,X+RAYON,Y+RAYON)
 
    # mise à jour toutes les 50 ms
    Mafenetre.after(50,deplacement)
 
# coordonnées initiales
coords = (0, 0)
# création du rectangle
rectangle = Canvas.create_rectangle(0,0,25,50,fill="violet")
# Création de la balle
Balle = Canvas.create_oval(X-RAYON,Y-RAYON,X+RAYON,Y+RAYON,width=1,fill='green')
# ajout du bond sur les touches du clavier
canvas.focus_set()
canvas.bind("<Key>", clavier)
# Création canvas
canvas = Canvas(fenetre,height=HAUTEUR,width=LARGEUR,bg='white')
canvas.pack(padx=5,pady=5)