A Casa do Papai Noel
Nota: Este é o primeiro desafio que tentei definir. Já passou pela Sandbox, no entanto, se você encontrar algo errado com ela, por favor, não diminua o voto, mas deixe um comentário para que eu possa melhorá-la.
fundo
Há um velho quebra-cabeça infantil, onde o desafio é desenhar uma caixa com um teto e uma cruz no meio, sem levantar a caneta do papel ou passar por cima de qualquer linha duas vezes.
Na Alemanha, é conhecida como "das Haus des Nikolaus" ou "A Casa do Papai Noel". Sinceramente, não me lembro como costumávamos chamá-lo. Para quem não está familiarizado com o quebra-cabeça, todos os detalhes estão disponíveis aqui .
Aqui está uma representação de arte ASCII da casa.
/\
/__\
|\/|
|/\|
----
Desafio
Escreva um programa ou função para desenhar a Casa do Papai Noel em qualquer idioma de sua escolha.
Parece fácil demais? Bem, aqui está o problema. Ele também deve produzir cada estágio do desenho e cumprir as regras do quebra-cabeça. Seu programa não é obrigado a receber nenhuma entrada. A casa pronta deve ter exatamente a aparência mostrada acima.
De acordo com o site acima, existem 44 soluções possíveis. Você pode usar qualquer um deles. Este é um desafio de arte ASCII, portanto você não precisa calcular a solução, mas apenas desenhá-la.
Resultado
Um exemplo da saída necessária de uma das 44 soluções é mostrado abaixo:
----
\
\
----
__
\
\
----
\
__\
\
\
----
/\
/__\
\
\
----
/\
/__\
|\
| \
----
/\
/__\
|\/
|/\
----
/\
/__\
|\/|
|/\|
----
Regras
- Eu adicionei uma nova linha extra entre cada saída esperada para tentar tornar os requisitos mais claros. Isso é opcional. Qualquer número de linhas em branco entre cada saída é permitido.
- Sua saída deve consistir apenas nos caracteres /, \, -, _ e espaço, como mostrado acima. Espaços à direita são permitidos.
- Cada linha do seu desenho deve continuar do final da linha anterior e você não pode repetir nenhuma linha.
- Falhas padrão proibidas.
- Você não é obrigado a emitir a rima mencionada no link acima.
- Este é um código de golfe, então a resposta mais curta em bytes será a vencedora.
Resultado
Algumas ótimas respostas, agradecimentos e respeito a todos que postaram. Eu disse a contagem de bytes mais baixa, mas marquei como resposta principal não apenas para isso, mas também para a grande explicação do código. Nice @Dennis.