Browse Source

Mise à jour de 'rue.py'

master
Treacky 2 months ago
parent
commit
7e3fe65697
  1. 28
      rue.py

28
rue.py

@ -24,6 +24,7 @@ def immeuble_aleatoire(numero: int) -> dict:
informations['couleur_facade'] = couleur_aleatoire() informations['couleur_facade'] = couleur_aleatoire()
informations['numero'] = numero informations['numero'] = numero
informations['etages'] = etage_aleatoire() # Ajout de la hauteur des étages informations['etages'] = etage_aleatoire() # Ajout de la hauteur des étages
informations['porte'] = coordonnees_porte # Coordonées portes pour les fenêtres
return informations return informations
def couleur_aleatoire() -> str: 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]) x_gauche = -400+ 200 * immeuble['numero'] + choice([12.5,55,97.5])
y_bas = -200 y_bas = -200
return (x_gauche, y_bas) 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: def dessiner_facade(immeuble: dict) -> None:
# Traduction des données de rue vers dessiner # Traduction des données de rue vers dessiner
@ -77,8 +83,30 @@ def dessiner_toit(immeuble: dict) -> None:
# Demande d'affichage # Demande d'affichage
triangle_equilateral(cote, crayon, (x, y_toit)) 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: def dessiner_immeuble(immeuble: dict) -> None:
dessiner_facade(immeuble) dessiner_facade(immeuble)
dessiner_fenetres(immeuble)
dessiner_porte(immeuble) dessiner_porte(immeuble)
dessiner_toit(immeuble) dessiner_toit(immeuble)
# à compléter avec d'autres fonctions pour le reste : toit, fenêtres... # à compléter avec d'autres fonctions pour le reste : toit, fenêtres...

Loading…
Cancel
Save