diff --git a/rue.py b/rue.py index 5acd7dd..6ed5536 100644 --- a/rue.py +++ b/rue.py @@ -24,6 +24,7 @@ def immeuble_aleatoire(numero: int) -> dict: informations['couleur_facade'] = couleur_aleatoire() informations['numero'] = numero informations['etages'] = etage_aleatoire() # Ajout de la hauteur des étages + informations['porte'] = coordonnees_porte # Coordonées portes pour les fenêtres return informations def couleur_aleatoire() -> str: @@ -41,6 +42,11 @@ def coordonnees_porte(immeuble:dict) -> tuple: x_gauche = -400+ 200 * immeuble['numero'] + choice([12.5,55,97.5]) y_bas = -200 return (x_gauche, y_bas) + +def coordonnees_fenetres(immeuble:dict) -> tuple: + x_gauche = -400+ 200 * immeuble['numero'] + y_bas = -200 + return (x_gauche, y_bas) def dessiner_facade(immeuble: dict) -> None: # Traduction des données de rue vers dessiner @@ -77,8 +83,30 @@ def dessiner_toit(immeuble: dict) -> None: # Demande d'affichage triangle_equilateral(cote, crayon, (x, y_toit)) +def dessiner_fenetres(immeuble: dict) -> None: + # Traduction des données de rue vers dessiner + crayon = {} + crayon['écriture'] = "black" + crayon['fond'] = 'grey' # Vous pouvez choisir une autre couleur si vous le souhaitez + crayon['épaisseur'] = 1 + x, y = coordonnees_fenetres(immeuble) + cote = LARGEUR_IMMEUBLE + hauteur = immeuble['etages'] # Utiliser la hauteur des étages depuis le dictionnaire + etages = int(hauteur / 80) # Conversion en nombre d'étages (80 pixels par étage) + + # Calcul du décalage vertical pour chaque étage + for i in range(etages): + y_fenetre = y + (i * 80) + 20 # Chaque fenêtre est à 80 pixels de distance en hauteur, avec un décalage de 20 + + # Trois fenêtres par étage + rectangle(30, 30, crayon, (x + 12.5, y_fenetre)) + rectangle(30, 30, crayon, (x + 55, y_fenetre)) + rectangle(30, 30, crayon, (x + 97.5, y_fenetre)) + + def dessiner_immeuble(immeuble: dict) -> None: dessiner_facade(immeuble) + dessiner_fenetres(immeuble) dessiner_porte(immeuble) dessiner_toit(immeuble) # à compléter avec d'autres fonctions pour le reste : toit, fenêtres...