from random import * from tkinter import * from time import * tissu=Canvas(width=800,height=800) tissu.pack() def carre(x,y,c): tissu.create_line(x-c,y-c,x+c,y-c) tissu.create_line(x-c,y+c,x+c,y+c) tissu.create_line(x-c,y-c,x-c,y+c) tissu.create_line(x+c,y-c,x+c,y+c) tissu.update() photo = PhotoImage(file ="piste.gif") x=500 y=500 def carré1(x,y,c): tissu.create_line(x-c,y-c,x+c,y-c,width=4) tissu.create_line(x-c,y+c,x+c,y+c,width=4) tissu.create_line(x-c,y-c,x-c,y+c,width=4) tissu.create_line(x+c,y-c,x+c,y+c,width=4) tissu.create_rectangle(x-c,y-c,x+c,y+c,fill='blue') #cropsj1 x=500 y=370 carré1(x,y,30) tissu.update() #jambedroite(r,s,t): r1=480 s1=410 #jambegauche(r,s,t) r2=520 s2=410 sens=1 def carré2(x,y,c): tissu.create_line(x-c,y-c,x+c,y-c,width=4) tissu.create_line(x-c,y+c,x+c,y+c,width=4) tissu.create_line(x-c,y-c,x-c,y+c,width=4) tissu.create_line(x+c,y-c,x+c,y+c,width=4) tissu.create_rectangle(x-c,y-c,x+c,y+c,fill='red') #corpspnj1 x0=570 y0=160 carré2(x0,y0,30) tissu.update() #jambedroite(pr,ps,pt): pr1=580 ps1=200 #jambegauche(pr,ps,pt) pr2=555 ps2=200 sens=1 #corpspnj2 x1=560 y1=250 carré2(x1,y1,30) tissu.update() #jambedroite(pr,ps,pt): pr3=580 ps3=290 #jambegauche(pr,ps,pt) pr4=540 ps4=290 sens1=1 #corpspnj3 x2=550 y2=320 carré2(x2,y2,30) tissu.update() #jambedroite(pr,ps,pt): pr5=570 ps5=360 #jambegauche(pr,ps,pt) pr6=530 ps6=360 sens1=1 X=0 Y=0 precedent='' def tomber(): print ('gave over') sleep(0.5) def droite(event): global bougeddroite, precedent if precedent=='droite': tomber() else: tissu.move(carré1,-10,-10) bougeddroite=True precedent='droite' def gauche(event): global bougedgauche, precedent if precedent=='gauche': tomber() else: tissu.move(carré1,-10,-10) bougedgauche=True precedent='gauche' bougeddroite=False bougedgauche=False tissu.bind_all('', droite) tissu.bind_all('',gauche) while True: tissu.create_image(X,Y,image=photo) x0=x0-2 y0=y0-1.5 pr1=pr1+sens*6-2 pr2=pr2-sens*6-2 ps1=ps1-1.5 ps2=ps2-1.5 carré2(pr1,ps1,10) carré2(pr2,ps2,10) carré2(x0,y0,30) sens=sens*(-1) x1=x1-1.5 y1=y1-1 pr3=pr3+sens*6-1.5 pr4=pr4-sens*6-1.5 ps3=ps3-1 ps4=ps4-1 carré2(pr3,ps3,10) carré2(pr4,ps4,10) carré2(x1,y1,30) tissu.update() sleep(0.1) sens1=sens1*(-1) x2=x2-1.5 y2=y2-1 pr5=pr5+sens*6-1.5 pr6=pr6-sens*6-1.5 ps5=ps5-1 ps6=ps6-1 carré2(pr5,ps5,10) carré2(pr6,ps6,10) carré2(x2,y2,30) if bougeddroite : r1=r1+sens*6 r2=r2-sens*6 carré1(r1,s1,10) carré1(r2,s2,10) carré1(x,y,30) tissu.update() sleep(0.1) sens=sens*(-1) bougeddroite=False X=X+12 Y=Y+8 elif bougedgauche : r1=r1+sens*6 r2=r2-sens*6 carré1(r1,s1,10) carré1(r2,s2,10) carré1(x,y,30) tissu.update() sleep(0.1) sens=sens*(-1) bougedgauche=False X=X+12 Y=Y+8 else : carré1(r1,s1,10) carré1(r2,s2,10) carré1(x,y,30) tissu.update() sleep(0.1)