le scripts du jeux tennis

Publié le par fido

from Tkinter import*
x0,y0 =1,1
v   =5  #vitesse de la balle
vr  =20 #vitesse de la raquette
x,y =v,v


def move():
    global x,y
    x   =x0*x
    y   =y0*y
    can.move(5,x,y)
    ballmove    =can.bbox(5)
    bx  =ballmove[0]
    by  =ballmove[1]
    p1=can.find_closest(bx,by)
    p2=can.find_closest(bx+10,by)
    p3=can.find_closest(bx+10,by+10)
    p4=can.find_closest(bx,by+10)

    if p2!=(5,) and p3 !=(5,):
        #if x+y ==2:
        if x==y:
            x,y=-v,v
        else:
            x,y =-v,-v
    if p1 !=(5,) and p2 !=(5,):
        if x+y  ==0:

            x,y =v,v
        else:
            x,y =-v,v
    if p1 !=(5,) and p4 !=(5,):
        #if x+y  ==-2:
        if x==y:
            x,y =v,-v
        else:
            x,y =v,v
    if p4 !=(5,) and p3 !=(5,):
        if x+y  ==0:
            x,y=-v,-v
        else:
            x,y =v,-v
    can.after(50,move)

def le(event):
    can.move(6,-vr,0)
def ri(event):
    can.move(6,vr,0)
def up(event):
    can.move(6,0,-vr)
def do(event):
    can.move(6,0,vr)
   
fen =Tk()
can =Canvas()
can.grid()
#--------------------------------------------------
# les 4 murs
#--------------------------------------------------
can.create_rectangle(1,10,10,200,fill="blue")
can.create_rectangle(11,1,280,10,fill="blue")
can.create_rectangle(281,11,290,200,fill="blue")
can.create_rectangle(11,201,280,210,fill="blue")



#---------------------------------------------------
# la balle
#---------------------------------------------------
can.create_oval(180,180,190,190,fill="red")

#---------------------------------------------------
#raquette
can.create_rectangle(200,180,240,190,fill="yellow")
#---------------------------------------------------

#---------------------------------------------------
#deplachememnt de la raquette
#---------------------------------------------------
fen.bind("<Left>",le)
fen.bind("<Right>",ri)
fen.bind("<Up>",up)
fen.bind("<Down>",do)


move()
fen.mainloop()
Publicité
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article