La casa di Babbo Natale
Nota: questa è la prima sfida che ho tentato di impostare. È stato attraverso il Sandbox tuttavia se trovi qualcosa di sbagliato in esso, ti preghiamo di non solo fare un voto negativo ma lasciare un commento in modo che io possa migliorarlo.
sfondo
C'è un vecchio puzzle per bambini in cui la sfida è disegnare una scatola con un tetto e una croce nel mezzo senza sollevare la penna dal foglio o passare due volte su una linea.
In Germania è noto come "das Haus des Nikolaus" o "La casa di Babbo Natale". Onestamente non ricordo come lo chiamavamo. Per chiunque non abbia familiarità con il puzzle, i dettagli completi sono disponibili qui .
Ecco una rappresentazione in arte ASCII della casa.
/\
/__\
|\/|
|/\|
----
Sfida
Scrivi un programma o una funzione per disegnare la Casa di Babbo Natale in qualsiasi lingua tu scelga.
Sembra troppo facile? Bene, ecco il trucco. Deve anche generare ogni fase del disegno e rispettare le regole del puzzle. Il tuo programma non è tenuto a prendere alcun input. La casa finita deve apparire esattamente come mostrato sopra.
Secondo il sito sopra ci sono 44 possibili soluzioni. Puoi usarne uno qualsiasi. Questa è una sfida di arte ASCII, quindi non è necessario calcolare la soluzione ma solo disegnarla.
Produzione
Di seguito è riportato un esempio dell'output richiesto da una delle 44 soluzioni:
----
\
\
----
__
\
\
----
\
__\
\
\
----
/\
/__\
\
\
----
/\
/__\
|\
| \
----
/\
/__\
|\/
|/\
----
/\
/__\
|\/|
|/\|
----
Regole
- Ho aggiunto 1 newline extra tra ogni output previsto per cercare di rendere più chiari i requisiti. Questo è facoltativo È consentito qualsiasi numero di righe vuote tra ogni output.
- L'output deve essere composto solo dai caratteri /, \, -, _ e spazio come mostrato sopra. Sono consentiti spazi finali.
- Ogni linea nel disegno deve continuare dalla fine della linea precedente e non è possibile ripetere alcuna linea.
- Scappatoie standard vietate.
- Non è necessario generare la rima menzionata nel link sopra.
- Questo è il golf del codice, quindi la risposta più breve in byte sarà il vincitore.
Risultato
Alcune grandi risposte e grazie e rispetto per tutti coloro che hanno pubblicato. Ho detto il conteggio di byte più basso, ma ho contrassegnato come risposta principale non solo per questo, ma anche per la grande spiegazione del codice. Bello @Dennis.