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
| '''Casse brique, par Alexandre REPPERT, ISN'''
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)
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)
coll = c.find_overlapping(*balle) ####contact balle / brique
if len(coll) >= 2 :
if coll[1] == 2 : #### contact avec la raquette
pass
if coll[1] > 2 : #### contact avec brique
print(coll[1])
c.delete(coll[1])
dby = pas
def creation_briques():
balle = c.coords(b)
print(balle)
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)
c.pack()
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
action()
creation_briques()
f.bind('<KeyPress>', enfoncer)
f.bind('<KeyRelease>', relacher)
f.mainloop() |
Partager