Browse Source

Mise à jour de 'rue.py'

master
Kylian.B-M 2 years ago
parent
commit
c09802f745
  1. 73
      rue.py

73
rue.py

@ -10,13 +10,12 @@ lesCouleurs = ['red', 'blue', 'green', 'violet', 'yellow', 'orange', 'magenta']
def determiner_immeuble(numero:int) -> dict:
caracteristiques = {}
caracteristiques['couleur_facade'] = choisir_couleur(lesCouleurs)
caracteristiques['couleur_facade'] = choisir_couleur(lesCouleurs) # determine les couleurs aléatoirement pour les immeubles
caracteristiques['numero'] = numero
caracteristiques['coordonnees'] = -350 + numero * 170
caracteristiques['etage'] = random.randint(1,6)
caracteristiques['porte'] = random.randint(1,3)
caracteristiques['toit_variant'] = random.randint(1,2)
caracteristiques['fenetre'] = 1
caracteristiques['coordonnees'] = -350 + numero * 170 # coordonnée de départ pour la construction des immeubles
caracteristiques['etage'] = random.randint(1,6) # determine aléatoirement le nombre d'etages de l'immeuble
caracteristiques['porte'] = random.randint(1,3) # determine aléatoirement la position de la porte
caracteristiques['toit_variant'] = random.randint(1,2) # determine aléatoirement la forme du toit, 1 pour un toit en triangle et 2 en rectangle
return caracteristiques
@ -27,57 +26,50 @@ def dessiner_facade(informations:dict):
facade['écriture'] = 'blue'
facade['fond'] = informations['couleur_facade']
facade['épaisseur'] = 1
x0 = informations['coordonnees']
hauteur = informations['etage'] * 80
rectangle(140, hauteur, facade, (x0, -200))
x0 = informations['coordonnees'] # determine la coordonnée de depart
hauteur = informations['etage'] * 80 # determine la hauteur de la facade selon le nombre d'etages
rectangle(140, hauteur, facade, (x0, -200)) # dessine la facade de l'immeuble
def dessiner_porte(informations:dict):
porte = {}
porte = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes
porte['écriture'] = 'brown'
porte['fond'] = 'brown'
porte['épaisseur'] = 1
x0 = informations['coordonnees']
position = informations['porte']
rectangle(30, 50, porte, (x0 + (position * 40) -25, -200))
x0 = informations['coordonnees'] # determine la coordonnée de depart
position = informations['porte'] # determine la positition de la porte
rectangle(30, 50, porte, (x0 + (position * 40) -25, -200)) # dessine la porte de l'immeuble
def dessiner_fenetres(informations:dict):
fenetre = {}
fenetre = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes
fenetre['écriture'] = 'black'
fenetre['fond'] = 'cyan'
fenetre['épaisseur'] = 1
x0 = informations['coordonnees']
position = informations['fenetre']
for etage in range(0,informations['etage']):
rectangle(30, 30, fenetre, (x0 + (position * 40) -25, -180 + etage*80))
rectangle(30, 30, fenetre, (x0 + (position * 80) -25, -180 + etage*80))
rectangle(30, 30, fenetre, (x0 + (position * 120) -25, -180 + etage*80))
x0 = informations['coordonnees'] # determine la coordonnée de depart
for etage in range(0,informations['etage']): # construction des 3 fenetres pour chaque étage étage selon la hauteur du batiment
rectangle(30, 30, fenetre, (x0 + (1 * 40) -25, -180 + etage*80)) # fenetre de gauche
rectangle(30, 30, fenetre, (x0 + (1 * 80) -25, -180 + etage*80)) #fenetre du centre
rectangle(30, 30, fenetre, (x0 + (1 * 120) -25, -180 + etage*80)) #fenetre de droite
def dessiner_toit(informations:dict):
toit = {}
toit = {} # pour faire la "traduction" entre les clés de ce module et les clés du module formes
toit['écriture'] = 'black'
toit['fond'] = 'black'
toit['épaisseur'] = 1
x0 = informations['coordonnees']
hauteur = informations['etage'] * 80
variant = random.randint(1,2)
if informations['toit_variant'] == 1:
triangle_isocele(50, 140, toit,(x0,hauteur - 200))
else:
rectangle(180, 10, toit,(x0-20, hauteur - 200))
variant = random.randint(1,2) # determine le type du toit
if informations['toit_variant'] == 1: # si le variant du toit est égale a 1
triangle_isocele(50, 140, toit,(x0,hauteur - 200)) # dessine un toit en triangle
else: # sinon
rectangle(180, 10, toit,(x0-20, hauteur - 200)) # dessine un toit en rectangle
def choisir_couleur(lesCouleurs:list)->int:
i = random.randint(0,len(lesCouleurs)-1)
return lesCouleurs[i]
i = random.randint(0,len(lesCouleurs)-1) # determine aléatoirement la couleur parmis celle dans le tableau LesCouleurs
return lesCouleurs[i] # renvoie la couleur chosie
def dessiner_immeuble(informations:dict):
dessiner_facade(informations)
dessiner_toit(informations)
@ -91,15 +83,4 @@ if __name__ == '__main__':
for x in range(4):
infos_immeuble = determiner_immeuble(x)
dessiner_immeuble(infos_immeuble)
# à 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)
dessiner_immeuble(infos_immeuble)
Loading…
Cancel
Save