Triforce to fikcyjna artefakt w The Legend of Zelda , złożony z trzech identycznych trójkątów równobocznych prognozujących reprezentujących moc, mądrość i odwagę. Kilka gier w tej sadze zawiera animację, kiedy trzy części w końcu się łączą.
Celem tego wyzwania jest narysowanie pojedynczej klatki 2D o tak uproszczonej animacji, o danej szerokości dla trójkątów i zadanym odstępie między częściami.
Wkład
Dane wejściowe składają się z dwóch liczb całkowitych: szerokości i wartości odstępu s ≥ 0 .
Wydajność
Rama musi zostać narysowana zgodnie z następującymi specyfikacjami:
/\
/ \____________ this part is horizontally centered
/ \
/______\
\___ s empty lines
/
/\ /\
/ \ / \______ w+1 backslashes
/ \ / \
/______\ /______\
\_______ 2w underscores
|__|
\_____________ 2s spaces
W powyższym przykładzie, mają , a y = 2 .
Więcej przykładów
, s = 0 :
/\
/__\
/\ /\
/__\/__\
, s = 0 :
/\
/ \
/____\
/\ /\
/ \ / \
/____\/____\
, s = 3 :
/\
/ \
/ \
/______\
/\ /\
/ \ / \
/ \ / \
/______\ /______\
, s = 1 :
/\
/ \
/ \
/ \
/________\
/\ /\
/ \ / \
/ \ / \
/ \ / \
/________\ /________\
Zasady
- Końcowe spacje w każdej linii są opcjonalne.
- Dodatkowe spacje wiodące w każdej linii są niedozwolone.
- Możesz wygenerować jedną dodatkową nową linię i / lub jedną dodatkową nową linię.
- To jest golf golfowy .
Python 2 ,
127124 bajtówWypróbuj online!
źródło
Płótno ,
201916 bajtówWypróbuj tutaj!
Wyjaśnienie:
uwaga: w wyniku tego naprawiłem błąd w kodzie, bez tej poprawki byłoby to 18 bajtów .
źródło
R ,
225,224,214,211, 208 bajtówWypróbuj online!
źródło
if(F)0
jest na pewno do przyjęcia i oszczędza jeden bajt. Lub jeszcze lepiejrm()
dla 3 bajtów.q()
w moim pierwszym komentarzu jest nieprawidłowa, zgodnie z tym metaPascal (FPC) ,
296264 bajtówWypróbuj online!
źródło
Python 2 ,
256248240228199195 bajtówDłuższy program, ale nieco inne podejście:
Wypróbuj online!
zaoszczędził wiele bajtów dzięki ignorowaniu końcowej spacji i włączeniu niektórych sztuczek z @ovs
zapisanych jeszcze bardziej poprzez wcześniejsze zdefiniowanie zmiennej
źródło
Rubin , 126 bajtów
Wypróbuj online!
źródło
Retina 0.8.2 , 141 bajtów
Wypróbuj online! Uwaga: Niektóre końcowe białe znaki wyjściowe. Wyjaśnienie:
Przekształć dane wejściowe w spacje. (Druga linia kończy się spacją.)
Utwórz boki dwóch dolnych trójkątów z odpowiednim odstępem.
Wypełnij podstawę trójkątów.
Powiel trójkąty z odpowiednimi odstępami pionowymi.
Przekształć górne trójkąty w pojedynczy trójkąt wyśrodkowany.
źródło
C (gcc),
404389 bajtówWypróbuj online!
-14 bajtów z Rodolvertice
-1 bajt poprzez ustalenie dekrementacji zmiennej pętli
przekreślony
404to prawie wciąż 404Nie golfowany:
źródło
#define p putchar
?p(x);
zamiastp(x)
, ponieważ (+26, -6) = +20 bajtów. Średnik jest uwzględniany przy rozwinięciu makra.Galareta , 51 bajtów
Wypróbuj online!
źródło