# -*- encoding:Utf8 -*-

# Animation manuelle d'une balle dans un canevas

from tkinter import *

class Balle(object):
    "Balle se déplaçant dans un canevas"

    def __init__(self, master, rayon=15, couleur='red'):
        
        self.rayon = rayon
        self.master = master
        self.can = master.can
        
        # coordonnées du centre de la balle:
        self.x = int(self.can.winfo_reqwidth()/2)
        self.y = int(self.can.winfo_reqheight()/2)

        # identifiant associé à la balle dans le canevas
        self.id = self.can.create_oval(self.x-rayon, self.y-rayon, self.x+rayon, self.y+rayon,
                            width=2, fill='red')
        
        # sens du déplacement de la balle (1 -> gauche à droite; -1 -> droite à gauche)
        self.sens = 1

    def avance(self):
        """
        Déplace la balle vers la droite ou vers la gauche
        en fonction la valeur de l'attribut self.sens
        """

        # à compléter
       

class Application(Tk):

    def __init__(self, h=300, w=300):
        # Création du widget principal
        Tk.__init__(self)
        self.title("Exercice 8.12")

        # Création du canevas:
        self.can = Canvas(self, bg = "dark grey", height=h, width=w)
        self.can.grid(row = 1, columnspan = 3)
                   
        # Création de la balle:                  
        self.balle = Balle(self)

        
        # Création des boutons:
        
        # à compléter
           

#------ Programme principal -------

Application().mainloop()
