Bonjour

Nous sommes dans un canevas tkinter : c'est l'histoire d'une balle, qui part vers la droite, et quand elle atteint le bord du canevas elle repart vers la gauche, quand elle atteint le bord elle repart vers la droite, etc.....
Je suis coincée là-dessus depuis hier après midi. Je ne comprends pas pourquoi mon code ne fonctionne pas.

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
from tkinter import *
 
 
 
def balle(i) :
    global x,y,n
    x[n] = x[n] + i
    can.coords(rond,x[n],y[n],x[n]+20,y[n]+20)
 
 
def bouge() :
    n=1
    if x[n] > x[n-1] and x[n] <= 380:
        balle(10)
        if x[n] == 380 :
            balle(-10)
    if x[n] < x[n-1] and x[n] >= 0 :
        balle(-10)
        if x[n] == 0 :
            balle(10)
 
        balle(x[n])
 
n = 1
x = [180,190]
y = [190,190]
 
fen = Tk()
fen.title('Balle qui rebondit')
 
can = Canvas(fen,bg='pale goldenrod',width=400,height=400)
can.pack()
 
rond = can.create_oval(x[n],y[n],x[n]+20,y[n]+20,outline='firebrick1',fill='firebrick1')
 
Button(fen,text='Bouge !',bg='pale goldenrod',fg='firebrick1',command=bouge).pack(side=BOTTOM)
 
fen.mainloop()
Malheureusement, là elle va bien vers la droite...mais c'est tout, je n'arrive pas à la faire revenir. J'ai tout essayé. Enfin non pas tout puisque ça ne marche pas, donc j'ai tout essayé sauf la bonne solution

Est-ce que vous pourriez me mettre sur la voie S.V.P. ?

Merci