Bonsoir,

voila je doit créer un casse brique, j'ai deja la balle / raquette / briques, mais je n'arrive pas a faire que quand la balle rencontre une brique elle se casse et détourne la balle, voici mon code :

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
from tkinter import *
from random import randint
 
touches = set()
 
def enfoncer(event):
    touches.add(event.keysym)
 
def relacher(event):
    try:
        touches.remove(event.keysym)
    except:
        pass
 
def action():
    global dbx, dby
    balle = c.coords(b)
    raquette = c.coords(r)
    #print(c.coords(r))
    #print(c.coords(b))
 
    if "Left" in touches and c.coords(r)[0]>0:
        c.move(r, -10, 0)
 
    if "Right" in touches and c.coords(r)[2]<800:
        c.move(r, 10, 0)
 
    if balle[2]>=800:
        dbx = -pas
 
    if balle[0]<=0:
        dbx = pas
 
    if balle[3]>=600:
        print('Vous avez perdu')
        f.destroy()
 
    if balle[1]<=0:
        dby = pas
 
    if (balle[0] + balle[2]) / 2 >= raquette[0] and (balle[0] + balle[2]) / 2 <= raquette[2] and balle[3] >= raquette[1]:
        dby=-pas
 
    c.move(b, dbx, dby)
    f.after(25, action)
 
 
def creation_briques():
    x = 22
    y = 40
    brique = []
    Lb = []
    couleur = ['red', 'yellow', 'purple', 'brown','dark blue','dark green']
 
    while x<740:
        j = randint(0,5)
        k = randint(0,30)
        if k == 2 or k == 25 or k == 11:
            y += 21
            if y >= 180:
                x += 62
                y = 40
 
        else :
            brique.append([c.create_rectangle(x,y,x+61,y+20,fill = couleur[j])])
            Lb.append((x,y))
            y += 21
            if y >= 180:
                x += 62
                y = 40
 
f = Tk()
c = Canvas(f, bg='black', width=800, height=600)
r = c.create_rectangle(400, 590, 450, 590, fill="white", width = 6, outline = "white")
b = c.create_oval(300, 200, 310, 210, fill="green", outline = "Gold")
 
        #-variables-#
pas = 6
dbx, dby = pas, pas
 
c.pack()
action()
creation_briques()
f.bind('<KeyPress>', enfoncer)
f.bind('<KeyRelease>', relacher)
 
f.mainloop()
j'ai essayer des trucs, mais rien, quelqu'un aurais une idée ? car je doit le rendre vendredi et je trouve rien

Merci de vos futur reponse, Cordialement