TENNIS
ETAPE 1 : Fenêtre, balle et déplacement de la balle
fromtkinter import*
fromrandom import*
dx=15 dy=15
defdeplacementballe():
globaldx,dy
coord=zonejeu.coords(balle)
ifcoord[3]>400:
dy=-1*dy
ifcoord[1]<0:
dy=-1*dy
ifcoord[2]>500:
dx=-1*dx
ifcoord[0]<0:
dx=-1*dx
zonejeu.move(balle,dx,dy)
fen.after(200,deplacementballe) fen=Tk()
zonejeu =Canvas(fen,width =500,height =400,bd=0,bg="white") zonejeu.pack(padx=5,pady=5)
balle =zonejeu.create_oval(10,10,30,30,fill='yellow') deplacementballe()
fen.mainloop()
ETAPE 2 : Raquette et son déplacement
fromtkinter import*
fromrandom import*
dx=15 dy=15
defdeplacementballe():
globaldx,dy,coord
coord=zonejeu.coords(balle)
ifcoord[3]>400:
dy=-1*dy
ifcoord[1]<0:
dy=-1*dy
ifcoord[2]>500:
dx=-1*dx
ifcoord[0]<0:
dx=-1*dx
zonejeu.move(balle,dx,dy)
fen.after(200,deplacementballe)
defdeplacementraquettedroit(event):
zonejeu.move(raquette,10,0)
defdeplacementraquettegauche(event):
zonejeu.move(raquette,-10,0)
fen=Tk()
zonejeu =Canvas(fen,width =500,height =400,bd=0,bg="white") zonejeu.pack(padx=5,pady=5)
balle =zonejeu.create_oval(10,10,30,30,fill='yellow')
raquette=zonejeu.create_rectangle(10,390,60,400,fill="green")
zonejeu.bind_all('<Right>',deplacementraquettedroit)#On associe les fleches du clavier aux fonctions droite() et gauche():
zonejeu.bind_all('<Left>',deplacementraquettegauche)
deplacementballe() fen.mainloop()
ETAPE 3: Colision raquette balle
fromtkinter import*
fromrandom import*
dx=5# distance entre chaques deplacement dy=5
temps=50# temps en ms entre chaques deplacements
defdeplacementballe():
globaldx,dy,coord
coordballe=zonejeu.coords(balle)
coordraquette=zonejeu.coords(raquette)
ifcoordballe[2]>500orcoordballe[0]<0:
dx=-1*dx
ifcoordballe[1]<0:
dy=-1*dy
ifcoordballe[3]>=coordraquette[1]andcoordballe[2]>=coordraquette[0]and coordballe[0]<=coordraquette[2]:# pour colision balle raquette
dy=-1*dy
ifcoordballe[3]>=coordraquette[1]andcoordballe[2]<coordraquette[0]:# si louper avec raquette alors perdu
zonejeu.delete(ALL)
ifcoordballe[3]>=coordraquette[1]andcoordballe[0]>coordraquette[2]:
zonejeu.delete(ALL)
zonejeu.move(balle,dx,dy)
fen.after(temps,deplacementballe)
defdeplacementraquettedroit(event):
zonejeu.move(raquette,10,0)
defdeplacementraquettegauche(event):
zonejeu.move(raquette,-10,0)
fen=Tk()
zonejeu =Canvas(fen,width =500,height =400,bd=0,bg="white") zonejeu.pack(padx=5,pady=5)
balle =zonejeu.create_oval(10,10,30,30,fill='yellow')
raquette=zonejeu.create_rectangle(10,390,60,400,fill="green")
zonejeu.bind_all('<Right>',deplacementraquettedroit)#On associe les fleches du clavier aux fonctions droite() et gauche():
zonejeu.bind_all('<Left>',deplacementraquettegauche)
deplacementballe() fen.mainloop()
ETAPE 4 : Présentation ( il faut mettre une photo einstein.gif dans le même répertoire)
fromtkinter import*
fromrandom import*
dy=5# distance entre chaques deplacements sur y temps=100# temps en ms entre chaques deplacements
x=randint(0,490)# pour choisir aléatoirement le depart de la balle
ifrandom()<0.5:#pour choisir aléatoirement le déplacement vers gauche ou droite
dx=5 else:
dx=-5
defdeplacementballe():
globaldx,dy,coord
coordballe=zonejeu.coords(balle)
coordraquette=zonejeu.coords(raquette)
ifcoordballe[2]>500orcoordballe[0]<0:
dx=-1*dx
ifcoordballe[1]<0:
dy=-1*dy
ifcoordballe[3]>=coordraquette[1]andcoordballe[2]>=coordraquette[0]and coordballe[0]<=coordraquette[2]:# pour colision balle raquette
dy=-1*dy
ifcoordballe[3]>=coordraquette[1]andcoordballe[2]<coordraquette[0]:# si louper avec raquette alors perdu
zonejeu.delete(ALL)
ifcoordballe[3]>=coordraquette[1]andcoordballe[0]>coordraquette[2]:
zonejeu.delete(ALL)
zonejeu.create_image(10,10,anchor=NW,image=photo)
zonejeu.create_text(300,300,text='PERDU',font=2000,fill='red')
zonejeu.move(balle,dx,dy)
fen.after(temps,deplacementballe)# pour réactualiser après temps en ms
defdeplacementraquettedroit(event):
zonejeu.move(raquette,10,0)
defdeplacementraquettegauche(event):
zonejeu.move(raquette,-10,0)
fen=Tk()
zonejeu =Canvas(fen,width =500,height =400,bd=0,bg="white") zonejeu.pack(padx=5,pady=5)
balle =zonejeu.create_oval(x,10,x+20,30,fill='yellow')
raquette=zonejeu.create_rectangle(10,390,60,400,fill="green")
zonejeu.bind_all('<Right>',deplacementraquettedroit)#On associe les fleches du clavier aux fonctions deplacementraquettedroit() et gauche():
zonejeu.bind_all('<Left>',deplacementraquettegauche) photo=PhotoImage(file='einstein.gif')