Dans l'épisode d'aujourd'hui de l'AAOD, nous allons construire un sanctuaire chinois de différentes hauteurs.
Considérez les exemples suivants pour height ( N) 1to6
N = 1:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
etc.
Détails de construction
Je suis sûr que la plupart des détails sur le motif sont clairs. Voici quelques détails plus fins:
- La porte au bas du sanctuaire peut être au minimum de
1_largeur et au maximum être de5_largeur. - Il y en aura toujours deux
.directement au-dessus des piliers autour de la porte (deux verticaux|). - Les escaliers commencent avec la même largeur que la porte et augmentent comme indiqué dans le motif
- Les
]##..##[blocs au-dessus de chaque niveau de toit augmentent en taille de2haut en bas. - Les
\__...__/niveaux des toits augmentent en taille de4haut en bas. - Les blocs de murs autour de la porte doivent au minimum contenir
1_et au maximum3_entre les deux|. La priorité va aux blocs muraux extérieurs afin que celui le plus proche de la porte ait une taille variable pour chaque niveau. - L'espace entre le
.et le](ou[) est rempli par#le toit juste au-dessus des portes.
Détails du défi
- Écrire une fonction ou un programme complet qui lit un entier positif supérieur à
0via STDIN / ARGV / argument de fonction ou l'équivalent le plus proche et affiche (vers STDOUT ou l'équivalent le plus proche) leNe sanctuaire chinois - Le retour à la ligne est facultatif.
- Il ne doit pas y avoir d'espaces de fin ou suffisamment d'espaces de fin pour remplir la sortie dans le rectangle de délimitation minimum.
- Il ne doit pas y avoir d'espaces de début qui ne font pas partie du motif.
Classement
Le premier post de la série génère un classement.
Pour vous assurer que vos réponses s'affichent, veuillez commencer chaque réponse par un titre, en utilisant le modèle Markdown suivant:
# Language Name, N bytes
où Nest la taille de votre soumission. Si vous améliorez votre score, vous pouvez conserver les anciens scores dans le titre, en les rayant. Par exemple:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1cas, le premier toit n'est-il pas trop long (large)?
#côté du .pour soutenir le ]et [au - dessus. À propos de la taille de toit de départ - C'est la taille du toit dans le toit supérieur de chaque hauteur.
N=1cas? Pourquoi pas 3 et avoir des fenêtres latérales plus petites comme dans leN=2cas?