# -*- coding:utf-8 -*-
__projet__ = "9 - POO"
__nom_fichier__ = "cercle"
__author__ = "Christine Fay-Varnier"
__date__ = "février 2022"

from forme import Forme
from turtle import *
from math import pi

class Cercle(Forme):
    """ definit un cercle comme une forme + un rayon """

    def __init__(self, diametre, couleur, centre=None):
        Forme.__init__(self, couleur, centre)
        self.diametre_ = diametre

    def __repr__(self):
        ligne1 = Forme.__str__(self)
        ligne2 = "diametre : " + str(self.diametre_)
        return ligne1 + ligne2

    def calculeSurface(self):
        """

        :return:    la surface du cercle
        """
        return pi*(self.diametre_ / 2)**2

    def dessiner(self):
        # methode qui dessine un cercle avec le module turtle

        # on supprime l'impression de la tortue
        ht()
        # on accélère
        # speed(10)

        up()
        # placement au debut du dessin
        goto(self.centre_.getx(), self.centre_.gety() - self.diametre_ // 2)
        color(self.coul_)
        begin_fill()
        down()
        # dessin du cercle
        circle(self.diametre_ // 2)
        end_fill()
        up()

# Programme principal
if __name__ == '__main__':
    rond = Cercle(100, "yellow")
    rond.dessiner()
    rond.deplace(50, 20)
    rond.dessiner()
    exitonclick()