O Dia das Bruxas está chegando, e eu ainda não decorei minha casa, então vou precisar da sua ajuda para fazer esta tarefa
Entrada
A entrada será uma lista de números de 4 dígitos, onde cada dígito representa uma parte da decoração:
EMBU
||||
|||+-upper decoration
||+-bottom decoration
|+-mouth/nose
+-eyes
Olhos:
0 - °
1 - ¯
2 - -
3 - ^
4 -'
Boca / nariz
0 - v
1 - w
2 - o
3 - _
4 --
Decoração inferior
0 - nada
1 - esqueleto
2 - abóbora
Decoração superior
0 - nada
1 - morcego voador
2 - morcego em repouso
3 - aranha
Resultado
Esqueleto:
(EME)
_|_
/[|]\
|
/ \
Abóbora
,
(EME)
Morcego voador
^"^
Morcego em repouso
()
´`
Aranha
|
.|.
:":
- Cada decoração tem uma largura de 5 caracteres
- Decorações superiores começam do topo
- Decorações mais baixas começam do fundo
- Se a aranha estiver sobre a abóbora ou não houver decoração de fundo, o comprimento da teia será 3, se estiver sobre o esqueleto, o comprimento da teia será 1
- Quando a decoração do fundo é
0
os 2 primeiros dígitos são irrelevantes - Entre cada decoração, haverá uma coluna vazia
Exemplo de
saída de
entrada
3123 ??02 1021 0310
| ()
| ´` ^"^
.|. (°_°)
:": _|_
/[|]\
, , |
(^w^) (¯v¯) / \
Os espaços à direita no final de cada linha são opcionais
É permitida uma nova linha à direita no final de toda a saída
Critérios de vitória
Este é o código-golfe, por isso a resposta mais curta ganha
9999
?Respostas:
JavaScript (ES6),
319315 bytesfonte
Java,
829, 798Sim. Melhorou substancialmente graças a Kevin Cruijssen e corvus_192.
a versão ungolfed
Decoração favorita (que aparentemente parece mais ruim no meu console): esqueleto do terminador
fonte
char[][]c=new char[8][e.length*6];char t,u,h='|';
->char c[][]=new char[8][e.length*6],t,u,h='|';
;'-'
pode ser45
;'^'
pode ser 94; O espaço pode ser removido aquiif(f>48) {
:; E tenho certeza de que muito mais pode ser jogado, mas é um pouco demais para um jogo mais complexo. :)Ruby 2.3.1,
777752 bytesEdit_0: Eu perdi totalmente o uso de variáveis de golfe e outras coisas.
Toma em N número de variáveis de decorações. Certamente há mais golfe que pode ser feito com isso. Eu não estou tão familiarizado com muitos truques de Ruby, mas aqui está uma chance! Também estou feliz em poder resolvê-lo.
Sem golfe
Os seguintes:
Emite isso:
fonte
Python 2, 331 bytes ""
Recebe entrada como lista de strings
-
Exemplo
Entrada:
["1212","4321","0123","1102","0020","1010","0101","2113"]
Resultado:
fonte