From 75f7e1a9d63cceed5060a1a612c8ec1b1017b710 Mon Sep 17 00:00:00 2001 From: killian Date: Thu, 15 Sep 2022 16:49:13 +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 | 62 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/formes.py b/formes.py index 6efdc74..35ea536 100644 --- a/formes.py +++ b/formes.py @@ -2,13 +2,16 @@ + triangle_equilateral(cote, infos, coordonnees) + arc_de_cercle(rayon, angle, infos, coordonnees) -+ rectangle(cote, infos, coordonnees) ++ rectangle(cote, infos, coordonnees) ++ porte(cote, infos, coordonnees) Exemples d'utilisation : >>> 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(50, infos_generales, (50,100)) +>>> rectangle(50,50, infos_generales, (50,100)) +>>> porte(50,40, infos_generales, (50,100)) + ''' @@ -164,34 +167,73 @@ def rectangle(largeur, hauteur, infos, coordonnees): return feutre +def trace_porte(feutre, largeur, hauteur): + '''Trace une porte à 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(largeur) + feutre.left(90) + feutre.forward(hauteur) + feutre.left(90) + feutre.end_fill() + feutre.hideturtle() + +def porte(largeur, hauteur, infos, coordonnees): + '''Trace un rectangle à partir des infos et aux bonnees coordonnées + + :: param largeur(int) :: la valeur en pixel de la largeur + :: param hauteur(int) :: la valeur en pixel de la hauteur + :: 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_porte(feutre, largeur, hauteur) + + return feutre + # Corps du programme principal if __name__ == '__main__': infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (-200,100)) + triangle_equilateral(100, infos_generales, (-200,100)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (-300,100)) + triangle_equilateral(100, infos_generales, (-400,100)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (10,100)) + triangle_equilateral(100, infos_generales, (-10,100)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (-100,100)) + triangle_equilateral(100, infos_generales, (-100,100)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - rectangle(100, 50, infos_generales, (-200,10)) + rectangle(100,500, infos_generales, (-100,-300)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - rectangle(100, 50, infos_generales, (-300,10)) + rectangle(100,500, infos_generales, (-200,-300)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - rectangle(100, 50, infos_generales, (100,10)) + rectangle(100,500, infos_generales, (-400,-300)) infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - rectangle(100, 50,infos_generales, (10,10)) \ No newline at end of file + rectangle(100,500, infos_generales, (-10,-300)) \ No newline at end of file