Zbliża się Halloween, a ja jeszcze nie udekorowałem domu, więc potrzebuję twojej pomocy, aby wykonać to zadanie
Wejście
Wejście będzie listą 4 cyfr, przy czym każda cyfra reprezentuje część dekoracji:
EMBU
||||
|||+-upper decoration
||+-bottom decoration
|+-mouth/nose
+-eyes
Oczy:
0 - °
1 - ¯
2 - -
3 - ^
4 -'
Usta / nos
0 - v
1 - w
2 - o
3 - _
4 --
Dekoracja dna
0 - nic
1 - szkielet
2 - dynia
Dekoracja górna
0 - nic
1 - latający nietoperz
2 - nietoperz spoczynkowy
3 - pająk
Wynik
Szkielet:
(EME)
_|_
/[|]\
|
/ \
Dynia
,
(EME)
Latający nietoperz
^"^
Odpoczywający nietoperz
()
´`
Pająk
|
.|.
:":
- Każda dekoracja ma szerokość 5 znaków
- Górne dekoracje zaczynają się od góry
- Niższe dekoracje zaczynają się od dołu
- Jeśli pająk znajduje się nad dynią lub nie ma dekoracji dolnej, długość wstęgi wyniesie 3, a jeśli znajdzie się nad szkieletem, długość wstęgi wyniesie 1
- Gdy dolna dekoracja ma
0
pierwsze 2 cyfry, nie mają znaczenia - Pomiędzy każdą dekoracją będzie pusta kolumna
Przykład
Wejście
3123 ??02 1021 0310
Wyjście
| ()
| ´` ^"^
.|. (°_°)
:": _|_
/[|]\
, , |
(^w^) (¯v¯) / \
Końcowe spacje na końcu każdej linii są opcjonalne
Dozwolony jest końcowy znak nowej linii na końcu całego wyniku
Kryteria wygranej
To jest golf golfowy, więc wygrywa najkrótsza odpowiedź
9999
?Odpowiedzi:
JavaScript (ES6),
319315 bajtówźródło
Java,
829, 798Tak. Znacząco poprawiony dzięki Kevinowi Cruijssenowi i corvus_192.
wersja bez golfa
Ulubiona dekoracja (która najwyraźniej wygląda bardziej zła na mojej konsoli): szkielet terminatora
źródło
char[][]c=new char[8][e.length*6];char t,u,h='|';
->char c[][]=new char[8][e.length*6],t,u,h='|';
;'-'
może być45
;'^'
może mieć 94; Miejsce można usunąć tutajif(f>48) {
:; I jestem pewien, że można grać w golfa o wiele więcej, ale to trochę za dużo, aby zagrać w bardziej złożone golfa. :)Ruby 2.3.1,
777752 bajtówEdycja_0: Całkowicie przegapiłem pewne zmienne użycie gry w golfa i kilka innych rzeczy.
Przyjmuje N liczby zmiennych dekoracji. Z pewnością można z tym zrobić więcej golfa. Nie znam się na wielu sztuczkach Ruby, ale oto szansa! Cieszę się również, że mogę to rozwiązać.
Nie grał w golfa
Następujące:
Wyprowadza to:
źródło
Python 2, 331 bajtów „”
Pobiera dane wejściowe jako listę ciągów
-
Przykład
Wejście:
["1212","4321","0123","1102","0020","1010","0101","2113"]
Wynik:
źródło