Dom Świętego Mikołaja
Uwaga: to pierwsze wyzwanie, które próbowałem ustawić. Przeszło to przez piaskownicę, ale jeśli znajdziesz coś złego, nie tylko głosuj negatywnie, ale zostaw komentarz, abym mógł to poprawić.
tło
Jest stara łamigłówka dla dzieci, w której wyzwaniem jest narysowanie pudełka z dachem i krzyżem przez środek bez podnoszenia pióra z papieru lub dwukrotnego przekraczania dowolnej linii.
W Niemczech znany jest jako „das Haus des Nikolaus” lub „Dom Świętego Mikołaja”. Szczerze mówiąc, nie pamiętam, jak to nazywaliśmy. Dla każdego, kto nie zna zagadki, pełne informacje są dostępne tutaj .
Oto artystyczna reprezentacja domu ASCII.
/\
/__\
|\/|
|/\|
----
Wyzwanie
Napisz program lub funkcję, aby narysować Dom Świętego Mikołaja w dowolnym wybranym języku.
Brzmi zbyt łatwo? Oto haczyk. Musi także generować każdy etap losowania i być zgodny z zasadami układanki. Twój program nie musi przyjmować żadnych danych wejściowych. Gotowy dom musi wyglądać dokładnie tak, jak pokazano powyżej.
Według powyższej strony istnieją 44 możliwe rozwiązania. Możesz użyć dowolnego z nich. To wyzwanie artystyczne ASCII, więc nie musisz obliczać rozwiązania, ale tylko je narysować.
Wynik
Przykład wymaganej wydajności jednego z 44 rozwiązań pokazano poniżej:
----
\
\
----
__
\
\
----
\
__\
\
\
----
/\
/__\
\
\
----
/\
/__\
|\
| \
----
/\
/__\
|\/
|/\
----
/\
/__\
|\/|
|/\|
----
Zasady
- Dodałem 1 dodatkową linię między każdym oczekiwanym wyjściem, aby wyjaśnić wymagania. To jest opcjonalne. Dowolna liczba pustych linii między każdym wyjściem jest dozwolona.
- Twój wynik musi składać się tylko ze znaków /, \, -, _ i spacji, jak pokazano powyżej. Końcowe spacje są dozwolone.
- Każda linia na rysunku musi być kontynuowana od końca poprzedniej linii i nie można powtarzać żadnej linii.
- Standardowe luki zabronione.
- Nie musisz wysyłać rymu wymienionego w powyższym linku.
- To jest golf golfowy, więc zwycięzcą zostanie najkrótsza odpowiedź w bajtach.
Wynik
Kilka świetnych odpowiedzi, podziękowań i szacunku dla wszystkich, którzy napisali. Powiedziałem, że ma najmniejszą liczbę bajtów, ale zaznaczyłem jako najwyższą odpowiedź nie tylko dla tego, ale także dla doskonałego wyjaśnienia kodu. Niezły @Dennis.