Browse Source

Transférer les fichiers vers ''

rue finale
master
quentin 2 years ago
parent
commit
955246f9b9
  1. 58
      rue.py

58
rue.py

@ -1,5 +1,5 @@
# Importation
from random import randint
from formes import triangle_equilateral
from formes import rectangle
from formes import porte
@ -7,59 +7,54 @@ from formes import fenetre
# Fonction gestion des données
def determiner_immeuble(numero:int) -> dict:
'''on designe les traits et caracteres de l'immeuble'''
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
caracteristiques['numero'] = numero
caracteristiques['bas_imeuble'] = -300 + numero * 240 # on positionne le bas de l'immeuble
caracteristiques['position_porte'] = caracteristiques['bas_imeuble'] + 20 # on fusionne la porte et le bas de l'immeuble
caracteristiques['couleur_fenetre'] = 'blue'
return caracteristiques
# Fonctions d'interface graphique
def dessiner_facade(informations:dict):
'''on trace la facade pour l'immeuble'''
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))
rectangle(140, 4*80, facade, (x0,0)) # reglage du rectangle pour la facade
def dessiner_porte(informations:dict):
'''on trace une porte avec couleur et position'''
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))
rectangle(30,40, porte, (x0,0)) # on positionne la porte
def dessiner_immeuble(informations:dict):
'''on trace un immeuble avec une facade, porte et fenetre'''
dessiner_facade(informations)
dessiner_porte(informations)
# à compléter avec d'autres fonctions pour le reste : toit, fenêtres...
dessiner_fenetre(informations, 0)
def dessiner_fenetre(informations:dict, position):
'''on trace une fenetre avec un fond en couleur pour l'immeuble'''
fenetre = {}
fenetre['écriture'] = 'red' # fenetre avec un fond rouge
fenetre['fond'] = informations ['couleur_fenetre']
fenetre['épaisseur'] = 2
x0 = position
rectangle(30,30, fenetre, (x0,0)) # on positionne la fenetre
# Programme principal
@ -68,3 +63,8 @@ if __name__ == '__main__':
for x in range(4):
infos_immeuble = determiner_immeuble(x)
dessiner_immeuble(infos_immeuble)
def dessiner_immeuble(informations:dict):
dessiner_facade(informations)

Loading…
Cancel
Save