From cb2b0bcebb36112035c4381bb30f4aa1a26d90a7 Mon Sep 17 00:00:00 2001 From: "Louis.L" Date: Tue, 13 Sep 2022 09:08:01 +0200 Subject: [PATCH] =?UTF-8?q?Transf=C3=A9rer=20les=20fichiers=20vers=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formes.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/formes.py b/formes.py index 497a681..c4aaf06 100644 --- a/formes.py +++ b/formes.py @@ -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))