diff --git a/README.md b/README.md index d6209df..2ed57a8 100644 --- a/README.md +++ b/README.md @@ -1,193 +1,6 @@ -# projet_killian_quentin -'''Ce fichier permet de dessiner deux formes à l'aide des deux fonctions suivantes - -+ triangle_equilateral(cote, infos, coordonnees) -+ arc_de_cercle(rayon, angle, infos, coordonnees) -+ rectangle(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)) - -''' - -# Importation - -import turtle as trt -import random as rd - -# Pas de classes - -# Déclaration des fonctions privées - -def nouveau_stylo(ecriture, fond, largeur): - '''Renvoie la référence d'un stylo configuré - - :: param ecriture(str) :: la couleur d'écriture ('red', '#FF0000') - :: param fond(str) :: la couleur de fond pour ce stylo - :: param largeur(int) :: la largeur du trait - :: return (Turtle) :: renvoie un objet de la classe Turtle - - ''' - feutre = trt.Turtle() - feutre.color(ecriture) - feutre.fillcolor(fond) - feutre.pensize(largeur) - feutre.speed(5) - return feutre - -def deplacer(feutre, x, y): - '''Lève le feutre, déplace le feutre et abaisse le feutre - - :: param feutre(Turtle) :: la référence de l'objet Turtle - :: param x(int) :: coordonnée horizontale (abscisse) - :: param y(int) :: coordonnée verticale (ordonnée) - :: return (None) :: c'est une fonction sans retour - .. effet de bord :: modifie l'état de feutre - - ''' - feutre.penup() # On lève la pointe - feutre.goto(x, y) # On déplace le crayon - feutre.pendown() # On abaisse la pointe - -def trace_triangle_equilateral(feutre, cote): - '''Trace un triangle (equilatéral) à 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(3): - feutre.forward(cote) - feutre.left(120) - feutre.end_fill() - feutre.hideturtle() - -def trace_arc(feutre, rayon, angle): - '''Trace un arc de cercle à l'aide du crayon feutre - - :: param ftr(Turtle) :: la référence de l'objet Turtle - :: param rayon(int) :: la valeur en pixel du rayon - :: param angle(int) :: l'angle à tracer (360 pour un cercle) - :: return (None) :: fonction sans retour - .. effet de bord :: modifie l'état de feutre - - ''' - feutre.begin_fill() - feutre.circle(rayon, angle) - 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): - '''Trace un triangle (equilatéral) à 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_triangle_equilateral(feutre, cote) - - return feutre - -def arc_de_cercle(rayon, angle, infos, coordonnees): - '''Trace un arc de cercle à partir des infos et aux bonnees coordonnées - - :: param rayon(int) :: la valeur en pixel du rayon - :: param angle(int) :: la valeur en ° de l'angle - :: 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_arc(feutre, rayon, angle) - - return feutre - - def trace_rectangle(feutre, largeur, hauteur): - '''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(largeur) - feutre.left(90) - feutre.forward(hauteur) - feutre.left(90) - feutre.end_fill() - feutre.hideturtle() - -def rectangle(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_rectangle(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)) - - - infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (-300,100)) - - - infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (10,100)) - - - infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - triangle_equilateral(75, infos_generales, (-100,100)) - - infos_generales = {'écriture':'blue', 'fond':'#FF88FF', 'épaisseur':5} - rectangle(50, infos_generales, (-200,100)) - killian j ai creer des rectangles - + killian j ai creer la facades + killian j ai creer les portes +