Ceci est une fenêtre:
---
| |
---
Ajoutons quelques murs |
. Mettez deux espaces de chaque côté afin que la fenêtre ait beaucoup d'espace.
| --- |
| | | |
| --- |
Ajoutons maintenant un toit et un plafond. Pour garder la fenêtre au milieu de la pièce, ajoutons une ligne au-dessus et en dessous.
---------
| |
| --- |
| | | |
| --- |
| |
---------
Maintenant, ajoutez simplement un toit. Mettez une barre oblique aussi loin que possible à gauche, et une barre oblique inversée aussi loin que possible à droite, et nous avons ceci:
/ \
---------
| |
| --- |
| | | |
| --- |
| |
---------
Déplacez ensuite la barre oblique vers le haut et vers la droite. Déplacez la barre oblique inverse vers le haut et la gauche:
/ \
/ \
---------
| |
| --- |
| | | |
| --- |
| |
---------
Répétez jusqu'à ce que les deux barres obliques se rencontrent, puis ajoutez un astérisque à l'endroit où elles se rencontrent:
*
/ \
/ \
/ \
/ \
---------
| |
| --- |
| | | |
| --- |
| |
---------
Et tu as fini! Ceci est une maison 1x1. une maison 2x2 ressemblerait à ceci:
*
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
-----------------
| | |
| --- | --- |
| | | | | | |
| --- | --- |
| | |
|-------|-------|
| | |
| --- | --- |
| | | | | | |
| --- | --- |
| | |
-----------------
et une maison 3x2:
*
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
-------------------------
| | | |
| --- | --- | --- |
| | | | | | | | | |
| --- | --- | --- |
| | | |
|-------|-------|-------|
| | | |
| --- | --- | --- |
| | | | | | | | | |
| --- | --- | --- |
| | | |
-------------------------
Le défi
Vous devez écrire un programme complet qui prend deux entiers, x et y, et imprime une maison de X pièces de large et de Y pièces de haut. Votre programme devrait être capable de gérer des maisons jusqu'à 10x10. IO peut être dans n'importe quel format raisonnable. Les espaces de fin sur chaque ligne sont autorisés et une nouvelle ligne de fin est autorisée.
La réponse la plus courte en octets gagne.
f'{name}'
un formatage de chaîne?