diff --git a/rue.py b/rue.py index 5656ad7..8a24704 100644 --- a/rue.py +++ b/rue.py @@ -1,5 +1,5 @@ # Importation -from random import randint + from formes import triangle_equilateral from formes import rectangle from formes import porte @@ -7,59 +7,54 @@ from formes import fenetre # Fonction gestion des données def determiner_immeuble(numero:int) -> dict: + '''on designe les traits et caracteres de l'immeuble''' caracteristiques = {} caracteristiques['couleur_facade'] = 'blue' - caracteristiques['numero'] = numero - caracteristiques['bas_imeuble'] = -300 + numero * 240 - caracteristiques['millieu_imeuble'] = -200 + numero * 340 - caracteristiques['etage'] = randint(1, 5) #1 veut dire rechausser plus 1 etage - caracteristiques['couleur_porte'] = 'black' - caracteristiques['position_porte'] = caracteristiques['bas_imeuble'] + 20 - - caracteristiques['couleur_fenetre'] ='green' - caracteristiques['position_fenetre'] = caracteristiques['millieu_imeuble'] + 20 - caracteristiques['position_fenetre_gauche'] = caracteristiques['bas_imeuble'] + 40 - caracteristiques['position_fenetre_droite'] = caracteristiques['bas_imeuble'] + 60 - caracteristiques['position_fenetre_millieu'] = caracteristiques['bas_imeuble'] + 80 + caracteristiques['numero'] = numero + caracteristiques['bas_imeuble'] = -300 + numero * 240 # on positionne le bas de l'immeuble + caracteristiques['position_porte'] = caracteristiques['bas_imeuble'] + 20 # on fusionne la porte et le bas de l'immeuble + caracteristiques['couleur_fenetre'] = 'blue' return caracteristiques # Fonctions d'interface graphique def dessiner_facade(informations:dict): + '''on trace la facade pour l'immeuble''' facade = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes facade['écriture'] = 'blue' facade['fond'] = informations['couleur_facade'] facade['épaisseur'] = 0 * informations['numero'] x0 = informations['bas_imeuble'] - nombre_etage = informations['etage'] - rectangle(140, nombre_etage*80+80, facade, (x0,0)) + rectangle(140, 4*80, facade, (x0,0)) # reglage du rectangle pour la facade def dessiner_porte(informations:dict): + '''on trace une porte avec couleur et position''' porte = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes porte['écriture'] = 'red' porte['fond'] = informations ['couleur_porte'] porte['épaisseur'] = 1 x0 = informations['position_porte'] - rectangle(30,40, porte, (x0,0)) - -def dessiner_fenetre(informations:dict): - fenetre = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes - fenetre['écriture'] = 'black' - fenetre['fond'] = informations ['couleur_fenetre'] - fenetre['épaisseur'] = 1 - x0 = informations['position_fenetre'] - x1 = informations['position_fenetre_gauche'] - x2 = informations['position_fenetre_millieu'] - x3 = informations['position_fenetre_droite'] - - rectangle(30,40, fenetre, (x0, x1, x2, x3, 0)) + rectangle(30,40, porte, (x0,0)) # on positionne la porte def dessiner_immeuble(informations:dict): + '''on trace un immeuble avec une facade, porte et fenetre''' dessiner_facade(informations) dessiner_porte(informations) - # à compléter avec d'autres fonctions pour le reste : toit, fenêtres... + dessiner_fenetre(informations, 0) + + +def dessiner_fenetre(informations:dict, position): + '''on trace une fenetre avec un fond en couleur pour l'immeuble''' + fenetre = {} + fenetre['écriture'] = 'red' # fenetre avec un fond rouge + fenetre['fond'] = informations ['couleur_fenetre'] + fenetre['épaisseur'] = 2 + x0 = position + rectangle(30,30, fenetre, (x0,0)) # on positionne la fenetre + + # Programme principal @@ -67,4 +62,9 @@ if __name__ == '__main__': for x in range(4): infos_immeuble = determiner_immeuble(x) - dessiner_immeuble(infos_immeuble) \ No newline at end of file + dessiner_immeuble(infos_immeuble) + + +def dessiner_immeuble(informations:dict): + + dessiner_facade(informations)