# Créé par apatura, le 04/03/2014 en Python 3.2 from tkinter import * # Il faut cliquer sur la fenêtre d'abord , puis après , utiliser les flèches pour déplacer les disques. # Dans le cas d'un plus grand nombre de disques il serait judicieux d'utiliser un tableau # On peut changer le rayon des disques (variable globale ray) def deplacedroite(event): global x,y,rond,xbis,ybis,xter,yter xter=xbis yter=ybis xbis=x ybis=y c.coords(rondbis,xbis-ray,ybis-ray,xbis+ray,ybis+ray) c.coords(rondter,xter-ray,yter-ray,xter+ray,yter+ray) x=x+2*ray c.coords(rond,x-ray,y-ray,x+ray,y+ray) def deplacegauche(event): global x,y,rond,xbis,ybis,xter,yter xter=xbis yter=ybis xbis=x ybis=y c.coords(rondbis,xbis-ray,ybis-ray,xbis+ray,ybis+ray) c.coords(rondter,xter-ray,yter-ray,xter+ray,yter+ray) x=x-2*ray c.coords(rond,x-ray,y-ray,x+ray,y+ray) def deplacehaut(event): global x,y,rond,xbis,ybis,xter,yter xter=xbis yter=ybis xbis=x ybis=y c.coords(rondbis,xbis-ray,ybis-ray,xbis+ray,ybis+ray) c.coords(rondter,xter-ray,yter-ray,xter+ray,yter+ray) y=y-2*ray c.coords(rond,x-ray,y-ray,x+ray,y+ray) def deplacebas(event): global x,y,rond,xbis,ybis,xter,yter xter=xbis yter=ybis xbis=x ybis=y c.coords(rondbis,xbis-ray,ybis-ray,xbis+ray,ybis+ray) c.coords(rondter,xter-ray,yter-ray,xter+ray,yter+ray) y=y+2*ray c.coords(rond,x-ray,y-ray,x+ray,y+ray) ray=5 #rayon des disques x,y=100,100 xbis,ybis=x-2*ray,100 xter,yter=x-4*ray,100 f=Tk() c=Canvas(f,height=200,width=300,bg='ivory') rond= c.create_oval(x-ray,y-ray,x+ray,y+ray,outline='blue',fill='black') rondbis= c.create_oval(xbis-ray,ybis-ray,xbis+ray,ybis+ray,outline='red',fill='black') rondter= c.create_oval(xter-ray,yter-ray,xter+ray,yter+ray,outline='red',fill='black') f.bind("",deplacehaut) f.bind("",deplacebas) f.bind("",deplacegauche) f.bind("",deplacedroite) c.pack(side=TOP) b=Button(f,text="Quitter",command=f.destroy) b.pack() #f.bind("", maFonction) # Flèche haut #f.bind("", maFonction2) # Bas #f.bind("", maFonction3) # Gauche #f.bind("", maFonction4) # Droite #f.bind("", maFonction5) # barre d'espace #f.bind("", maFonction6) # lettre A f.mainloop()