# Importation from random import randint from formes import triangle_equilateral from formes import rectangle from formes import porte from formes import fenetre # Fonction gestion des données def determiner_immeuble(numero:int) -> dict: 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 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'] = 0 * informations['numero'] x0 = informations['bas_imeuble'] nombre_etage = informations['etage'] rectangle(140, nombre_etage*80+80, facade, (x0,0)) def dessiner_porte(informations:dict): 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)) def dessiner_immeuble(informations:dict): dessiner_facade(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)