|
|
|
@ -80,6 +80,25 @@ def trace_arc(feutre, rayon, angle):
|
|
|
|
|
feutre.end_fill() |
|
|
|
|
feutre.hideturtle() |
|
|
|
|
|
|
|
|
|
def trace_rectangle(feutre, cote): |
|
|
|
|
'''Trace un rectangle à l'aide du crayon feutre |
|
|
|
|
|
|
|
|
|
:: param ftr(Turtle) :: la référence de l'objet Turtle |
|
|
|
|
:: param cote(int) :: la valeur en pixel des côtés |
|
|
|
|
:: return (None) :: fonction sans retour |
|
|
|
|
.. effet de bord :: modifie l'état de feutre |
|
|
|
|
|
|
|
|
|
''' |
|
|
|
|
feutre.begin_fill() |
|
|
|
|
for x in range(2): |
|
|
|
|
feutre.forward(cote) |
|
|
|
|
feutre.left(90) |
|
|
|
|
feutre.forward(cote*2) |
|
|
|
|
feutre.left(90) |
|
|
|
|
feutre.end_fill() |
|
|
|
|
feutre.hideturtle() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Déclarations des fonctions d'interface (aucun paramètre n'est lié au module Turtle) |
|
|
|
|
|
|
|
|
|
def triangle_equilateral(cote, infos, coordonnees): |
|
|
|
@ -122,6 +141,31 @@ def arc_de_cercle(rayon, angle, infos, coordonnees):
|
|
|
|
|
trace_arc(feutre, rayon, angle) |
|
|
|
|
|
|
|
|
|
return feutre |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def rectangle(cote, infos, coordonnees): |
|
|
|
|
'''Trace un rectangle à partir des infos et aux bonnees coordonnées |
|
|
|
|
|
|
|
|
|
:: param cote(int) :: la valeur en pixel des côtés |
|
|
|
|
:: param infos(dict) :: un dictionnaire {"écriture":str, "fond":str, "épaisseur":int} |
|
|
|
|
:: param coordonnees(tuple (int,int) ) :: un tuple (x,y) |
|
|
|
|
|
|
|
|
|
''' |
|
|
|
|
ecriture = infos['écriture'] |
|
|
|
|
fond = infos['fond'] |
|
|
|
|
epaisseur = infos['épaisseur'] |
|
|
|
|
x = coordonnees[0] # ou x,y = coordonnees |
|
|
|
|
y = coordonnees[1] |
|
|
|
|
|
|
|
|
|
feutre = nouveau_stylo(ecriture, fond, epaisseur) |
|
|
|
|
deplacer(feutre, x, y) |
|
|
|
|
trace_rectangle(feutre, cote) |
|
|
|
|
|
|
|
|
|
return feutre |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Corps du programme principal |
|
|
|
|
|
|
|
|
@ -130,3 +174,4 @@ if __name__ == '__main__':
|
|
|
|
|
infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} |
|
|
|
|
triangle_equilateral(50, infos_generales, (50,100)) |
|
|
|
|
arc_de_cercle(75, 360, infos_generales, (200,-200)) |
|
|
|
|
rectangle(100, infos_generales, (-200,50)) |
|
|
|
|