from tkinter import * ############################################################################### # mise en place de VARIABLES hCOTE=757 wCOTE=1024 MARGE=0 MARGE2=1 hNB_DE_CASES=15 wNB_DE_CASES=20 hPAS= hCOTE/hNB_DE_CASES wPAS= wCOTE/wNB_DE_CASES a=0 b=6 c=18 d=6 z=3 #u=3 ############################################################################### #DÉPLACEMENTS BILLE 1 def flecheHaute(event): print("déplace vers le haut") global b b=b-1 Canvas.move(BILLE1,0,-hPAS) Canvas.pack() def flecheGauche(event): print("déplace vers la gauche") global a a=a-1 Canvas.move(BILLE1,-wPAS,0) Canvas.pack() def flecheBas(event): print("déplace vers le bas") global b b=b+1 Canvas.move(BILLE1,0,hPAS) Canvas.pack() def flecheDroite(event): print("déplace vers la droite") global a a=a+1 Canvas.move(BILLE1,wPAS,0) Canvas.pack() #BILLE 1 def traceCercle(x, y): r=24 x = MARGE+wPAS*(x-1) y = MARGE+hPAS*(y-1) return Canvas.create_oval(x-r, y-r, x+r, y+r, fill='orange',outline='green') #DÉPLACEMENTS BILLE 2 def flecheHaute2(event): print("déplace vers le haut") global d d=d-1 Canvas.move(BILLE2,0,-hPAS) Canvas.pack() def flecheGauche2(event): print("déplace vers la gauche") global c c=c-1 Canvas.move(BILLE2,-wPAS,0) Canvas.pack() def flecheBas2(event): print("déplace vers le bas") global d d=d+1 Canvas.move(BILLE2,0,hPAS) Canvas.pack() def flecheDroite2(event): print("déplace vers la droite") global c c=c+1 Canvas.move(BILLE2,wPAS,0) Canvas.pack() #BILLE 2 def traceCercle2(x2, y2): r=24 x2 = MARGE+wPAS*(x2-1) y2 = MARGE+hPAS*(y2-1) return Canvas.create_oval(x2-r, y2-r, x2+r, y2+r, fill='purple',outline='blue') #VERIFICATION def f(): print("a=",a) print("b=",b) print("c=",c) print("d=",d) ######## fen=Tk() Canvas=Canvas(fen,bg="white", height=hCOTE, width=wCOTE) Canvas.pack() BILLE1=traceCercle(2,2) BILLE2=traceCercle2(20,15) fen.bind("", flecheHaute) fen.bind("", flecheGauche) fen.bind("", flecheBas) fen.bind("", flecheDroite) fen.bind("", flecheHaute2) fen.bind("", flecheGauche2) fen.bind("", flecheBas2) fen.bind("", flecheDroite2) #CADRILLAGE x2=0.5 while (x2<=hNB_DE_CASES): Canvas.create_line(MARGE,MARGE+wPAS*x2,MARGE+wCOTE,MARGE+wPAS*x2,fill='white') x2=x2+1 y2=0.5 while (y2<=wNB_DE_CASES): Canvas.create_line(MARGE+hPAS*y2,MARGE+hCOTE,MARGE+hPAS*y2,MARGE,fill='white') y2=y2+1 #LIMITES x3=hPAS/2 while (x3