From c09802f745daf44eb8e855bcd0c074500b2b691d Mon Sep 17 00:00:00 2001 From: "Kylian.B-M" Date: Thu, 13 Oct 2022 16:20:22 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'rue.py'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rue.py | 73 ++++++++++++++++++++++------------------------------------ 1 file changed, 27 insertions(+), 46 deletions(-) diff --git a/rue.py b/rue.py index cf4a487..8dde79e 100644 --- a/rue.py +++ b/rue.py @@ -10,13 +10,12 @@ lesCouleurs = ['red', 'blue', 'green', 'violet', 'yellow', 'orange', 'magenta'] def determiner_immeuble(numero:int) -> dict: caracteristiques = {} - caracteristiques['couleur_facade'] = choisir_couleur(lesCouleurs) + caracteristiques['couleur_facade'] = choisir_couleur(lesCouleurs) # determine les couleurs aléatoirement pour les immeubles caracteristiques['numero'] = numero - caracteristiques['coordonnees'] = -350 + numero * 170 - caracteristiques['etage'] = random.randint(1,6) - caracteristiques['porte'] = random.randint(1,3) - caracteristiques['toit_variant'] = random.randint(1,2) - caracteristiques['fenetre'] = 1 + caracteristiques['coordonnees'] = -350 + numero * 170 # coordonnée de départ pour la construction des immeubles + caracteristiques['etage'] = random.randint(1,6) # determine aléatoirement le nombre d'etages de l'immeuble + caracteristiques['porte'] = random.randint(1,3) # determine aléatoirement la position de la porte + caracteristiques['toit_variant'] = random.randint(1,2) # determine aléatoirement la forme du toit, 1 pour un toit en triangle et 2 en rectangle return caracteristiques @@ -27,57 +26,50 @@ def dessiner_facade(informations:dict): facade['écriture'] = 'blue' facade['fond'] = informations['couleur_facade'] facade['épaisseur'] = 1 - x0 = informations['coordonnees'] - hauteur = informations['etage'] * 80 - rectangle(140, hauteur, facade, (x0, -200)) + x0 = informations['coordonnees'] # determine la coordonnée de depart + hauteur = informations['etage'] * 80 # determine la hauteur de la facade selon le nombre d'etages + rectangle(140, hauteur, facade, (x0, -200)) # dessine la facade de l'immeuble def dessiner_porte(informations:dict): - porte = {} + porte = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes porte['écriture'] = 'brown' porte['fond'] = 'brown' porte['épaisseur'] = 1 - x0 = informations['coordonnees'] - position = informations['porte'] - rectangle(30, 50, porte, (x0 + (position * 40) -25, -200)) + x0 = informations['coordonnees'] # determine la coordonnée de depart + position = informations['porte'] # determine la positition de la porte + rectangle(30, 50, porte, (x0 + (position * 40) -25, -200)) # dessine la porte de l'immeuble def dessiner_fenetres(informations:dict): - fenetre = {} + fenetre = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes fenetre['écriture'] = 'black' fenetre['fond'] = 'cyan' fenetre['épaisseur'] = 1 - x0 = informations['coordonnees'] - position = informations['fenetre'] - for etage in range(0,informations['etage']): - rectangle(30, 30, fenetre, (x0 + (position * 40) -25, -180 + etage*80)) - rectangle(30, 30, fenetre, (x0 + (position * 80) -25, -180 + etage*80)) - rectangle(30, 30, fenetre, (x0 + (position * 120) -25, -180 + etage*80)) + x0 = informations['coordonnees'] # determine la coordonnée de depart + for etage in range(0,informations['etage']): # construction des 3 fenetres pour chaque étage étage selon la hauteur du batiment + rectangle(30, 30, fenetre, (x0 + (1 * 40) -25, -180 + etage*80)) # fenetre de gauche + rectangle(30, 30, fenetre, (x0 + (1 * 80) -25, -180 + etage*80)) #fenetre du centre + rectangle(30, 30, fenetre, (x0 + (1 * 120) -25, -180 + etage*80)) #fenetre de droite def dessiner_toit(informations:dict): - toit = {} + toit = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes toit['écriture'] = 'black' toit['fond'] = 'black' toit['épaisseur'] = 1 x0 = informations['coordonnees'] hauteur = informations['etage'] * 80 - variant = random.randint(1,2) - if informations['toit_variant'] == 1: - triangle_isocele(50, 140, toit,(x0,hauteur - 200)) - else: - rectangle(180, 10, toit,(x0-20, hauteur - 200)) + variant = random.randint(1,2) # determine le type du toit + if informations['toit_variant'] == 1: # si le variant du toit est égale a 1 + triangle_isocele(50, 140, toit,(x0,hauteur - 200)) # dessine un toit en triangle + else: # sinon + rectangle(180, 10, toit,(x0-20, hauteur - 200)) # dessine un toit en rectangle def choisir_couleur(lesCouleurs:list)->int: - i = random.randint(0,len(lesCouleurs)-1) - return lesCouleurs[i] + i = random.randint(0,len(lesCouleurs)-1) # determine aléatoirement la couleur parmis celle dans le tableau LesCouleurs + return lesCouleurs[i] # renvoie la couleur chosie - - - - - - def dessiner_immeuble(informations:dict): dessiner_facade(informations) dessiner_toit(informations) @@ -91,15 +83,4 @@ if __name__ == '__main__': for x in range(4): infos_immeuble = determiner_immeuble(x) - dessiner_immeuble(infos_immeuble) - - - # à compléter avec d'autres fonctions pour le reste : toit, fenêtres... - -# Programme principal - -if __name__ == '__main__': - - for x in range(4): - infos_immeuble = determiner_immeuble(x) - dessiner_immeuble(infos_immeuble) + dessiner_immeuble(infos_immeuble) \ No newline at end of file