En programmation, quand on débute et de façon générale, il faut penser de la façon la plus générique possible et à chaque instant se dire "et si on me demande de modifier un paramètre, est-ce que ça me prendra 10h de travail ou 1seconde?"
Stacksmashing l'a dit, pour ton copier coller de code, il faut faire des boucles.
Tu veux un gratte ciel ? Donc il faut deux boucles, pour les deux axes (x et y).
for x de 1 à nombre_fenetre_longueur
for y de 1 à nombre_étage
rect...
Là c'est un niveau de généricité qui permet de générer un gratte ciel.
Si tu veux faire plein de gratte ciel différents, il faudra faire une fonction qui détermine le nombre de fenetre à partir de:
- taille de la fenetre, écart entre les fenêtre
- taille de l'immeuble
etc.. Avec un bon niveau de généricité j'imagine qu'on peut générer des fonds de villes sympas en deux fonctions. Tu devrais essayer. C'est justement parce que cet objectif est irréalisable avec un copier coller qu'il forcera ton cerveau à penser le code de façon générique. Se fixer des objectifs impossibles est une très bonne façon de progresser en programmation