• Aucun résultat trouvé

ETAPE 1 : Fenêtre, balle et déplacement de la balle TENNIS

N/A
N/A
Protected

Academic year: 2022

Partager "ETAPE 1 : Fenêtre, balle et déplacement de la balle TENNIS"

Copied!
4
0
0

Texte intégral

(1)

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()

(2)

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()

(3)

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()

(4)

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')

d

eplacementballe() fen.mainloop()

Références

Documents relatifs

D’après le second graphique, la balle ne possède pas de vitesse initiale dans la direction verticale ( v verticale  0 ).. On constate que l’énergie mécanique se conserve avant

Le service doit s’effectuer « à la cuillère », à hauteur de ceinture, ou en dessous de la ceinture, et après rebond ; le rebond doit être effectué dans la

Il a donc un centre de sym´ etrie qui est confondu avec O puisqu’il est le point de concours des parall` eles aux c´ eviennes ` a mi-distance entre les c´ eviennes et les hauteurs

[r]

Chaque trou peut être assimilé à un hexagone ou un pentagone selon son nombre de voisins, et la balle à un polyèdre ayant ces polygones comme faces.. Si p est le nombre de

Un rebond n’est jamais parfaitement élastique : une partie de l’énergie cinétique incidente est perdue sous forme d’échauffement de la balle et du support, ou sous forme

opération de la Fédération Française de Tennis à laquelle participe en PACA la Ligue de Provence de Tennis (qui fut parmi les 7 ligues pilotes de cette opération à ses

S’écarter du porteur de balle BUT : faire passes en restant dans son cerceau Consigne : Les A se font des passes en restant dans leur cerceau pour aller vers la cible.. Les D