Browse Source

Mise à jour de 'rue.py'

master
Treacky 2 months ago
parent
commit
a185eeddaf
  1. 55
      rue.py

55
rue.py

@ -9,48 +9,78 @@
from dessiner import triangle_equilateral from dessiner import triangle_equilateral
from dessiner import rectangle from dessiner import rectangle
from random import choice
# Constantes # Constantes
LARGEUR_IMMEUBLE = 50 LARGEUR_IMMEUBLE = 140
# Fonction privées # Fonction privées
def immeuble_aleatoire(numero:int) -> dict: def immeuble_aleatoire(numero: int) -> dict:
informations = {} informations = {}
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
return informations return informations
def couleur_aleatoire() -> str: def couleur_aleatoire() -> str:
return "red" return choice(['red','light green','grey','sky blue','olive','seagreen','mediumaquamarine','peachpuff'])
def etage_aleatoire() -> str:
return choice([80,160,240,320])
def coordonnees_facade(immeuble:dict) -> tuple: def coordonnees_facade(immeuble:dict) -> tuple:
x_gauche = -200+ 100 * immeuble['numero'] x_gauche = -400+ 200 * immeuble['numero']
y_bas = 0 y_bas = -200
return (x_gauche, y_bas)
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) 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
crayon = {} crayon = {}
crayon['écriture'] = "blue" crayon['écriture'] = "black"
crayon['fond'] = immeuble['couleur_facade'] crayon['fond'] = immeuble['couleur_facade']
crayon['épaisseur'] = 1 crayon['épaisseur'] = 1
x, y = coordonnees_facade(immeuble) # désempaquatage du couple x, y = coordonnees_facade(immeuble) # désempaquatage du couple
cote = LARGEUR_IMMEUBLE cote = LARGEUR_IMMEUBLE
etages = immeuble['etages'] # Utiliser la hauteur des étages depuis le dictionnaire
# Demande d'affichage # Demande d'affichage
rectangle(cote,100, crayon, (x,y)) rectangle(cote, etages, crayon, (x, y))
def dessiner_porte(immeuble:dict) -> None: def dessiner_porte(immeuble:dict) -> None:
# Traduction des données de rue vers dessiner # Traduction des données de rue vers dessiner
crayon = {} crayon = {}
pass crayon['écriture'] = "black"
crayon['fond'] = couleur_aleatoire()
def dessiner_immeuble(immeuble:dict) -> None: crayon['épaisseur'] = 1
x, y = coordonnees_porte(immeuble)
# Demande d'affichage
rectangle(30,50, crayon, (x,y))
def dessiner_toit(immeuble: dict) -> None:
# Traduction des données de rue vers dessiner
crayon = {}
crayon['écriture'] = "black"
crayon['fond'] = 'black' # Vous pouvez choisir une autre couleur si vous le souhaitez
crayon['épaisseur'] = 1
x, y = coordonnees_facade(immeuble)
cote = LARGEUR_IMMEUBLE
hauteur = immeuble['etages'] # Utiliser la hauteur des étages depuis le dictionnaire
y_toit = y + hauteur # Positionner le toit au-dessus de la façade
# Demande d'affichage
triangle_equilateral(cote, crayon, (x, y_toit))
def dessiner_immeuble(immeuble: dict) -> None:
dessiner_facade(immeuble) dessiner_facade(immeuble)
dessiner_porte(immeuble) dessiner_porte(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...
@ -70,3 +100,4 @@ def dessiner_rue_decrite(rue:'?') -> None:
if __name__ == '__main__': if __name__ == '__main__':
dessiner_rue_aleatoire() dessiner_rue_aleatoire()

Loading…
Cancel
Save