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
| from tkinter import *
from random import*
from math import sin, cos
#Définition des gestionnaires d'évenements:
def move():
global x, y, flag, dx, dy
if x > 485 or x < 15:
dx = -dx
x += dx
if y > 485 or y < 15:
dy = -dy
y += dy
can.coords(ball, x-15, y-15, x+15, y+15)
if flag > 0:
fen.after(50, move)
def clicBall(event):
global x, y, score, flag, ms, tap, dx, dy
if event.x:
tap+=1
if flag == 1:
if event.x >= x-15 and event.x <= x+15 and event.y >= y-15 and event.y <= y+15:
score += 1
dx += 2
dy += 2
labScore.configure(text= "Nombre de Points: "+str(score))
gameOver()
def gameOver():
global tap, flag
if tap == 50:
labScore.configure(text= "Bravo! Score Final: "+str(score))
stop()
def start():
global flag, ms
flag += 1
if flag == 1:
labScore.configure(text= "Nombre de Points: "+str(score))
ms = 6
move()
def stop():
global flag, score
flag = 0
score = 0
#========== Programme principal =============
# les variables suivantes seront utilisées de manière globale :
x, y = 150, 280
flag = 0
dx, dy = 5, 5
vx = cos(1)
score = 0
tap = 0
#Création du widget principal ("maitre"):
fen = Tk()
fen.title("Petit jeu avec Tkinter")
#Création des widgets "esclaves":
can = Canvas(fen, bg= "dark grey", width= 500, height= 500)
can.grid(row= 2, column= 0)
ball = can.create_oval(x-15, y-15, x+15, y+15, outline= "black", fill= "green")
can.bind("<Button-1>", clicBall)
labScore = Label(fen, text= "Nombre de Points: 0")
labScore.grid(row= 3, column= 0)
Button(fen, text= "Débuter la Partie", command= start).grid(row= 0, column= 0)
Button(fen, text= "Arrêter la Partie", command= stop).grid(row= 1, column= 0)
Button(fen, text= "Quitter", command= fen.quit).grid(row= 4, column= 0)
fen.mainloop()
fen.destroy() |
Partager