# Importation from formes import triangle_equilateral from formes import triangle_isocele from formes import rectangle import random # Fonction gestion des données def determiner_immeuble(numero:int) -> dict: caracteristiques = {} caracteristiques['couleur_facade'] = 'red' caracteristiques['numero'] = numero caracteristiques['coordonnees'] = -350 + numero * 170 caracteristiques['etage'] = random.randint(1,6) caracteristiques['porte'] = random.randint(1,3) caracteristiques['fenetre'] = 1 return caracteristiques # Fonctions d'interface graphique def dessiner_facade(informations:dict): 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'] = 5 * informations['numero'] x0 = informations['coordonnees'] hauteur = informations['etage'] * 80 rectangle(140, hauteur, facade, (x0, -200)) triangle_isocele(50, 140, facade,(x0,hauteur -200)) def dessiner_porte(informations:dict): porte = {} porte['écriture'] = 'brown' porte['fond'] = informations['couleur_facade'] porte['épaisseur'] = 1 x0 = informations['coordonnees'] position = informations['porte'] rectangle(30, 50, porte, (x0 + (position * 40) -25, -200)) def dessiner_fenetres(informations:dict): fenetre = {} fenetre['écriture'] = 'blue' fenetre['fond'] = 'blue' fenetre['épaisseur'] = 1 x0 = informations['coordonnees'] position = informations['fenetre'] rectangle(30, 30, fenetre, (x0 + (position * 40) -25, -180)) rectangle(30, 30, fenetre, (x0 + (position * 80) -25, -180)) rectangle(30, 30, fenetre, (x0 + (position * 120) -25, -180)) def dessiner_immeuble(informations:dict): dessiner_facade(informations) dessiner_fenetres(informations) dessiner_porte(informations) # à 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)