Aquí hay un simple muñeco de nieve de arte ASCII :
_===_
(.,.)
( : )
( : )
Hagámosle algunos amigos. Este será el patrón general para nuestra gente de nieve de arte ASCII:
HHHHH
HHHHH
X(LNR)Y
X(TTT)Y
(BBB)
Los espacios iniciales y los paréntesis son siempre los mismos para todas las personas de nieve. Las diferentes letras representan secciones del patrón que pueden cambiar individualmente. Cada sección tiene exactamente cuatro preajustes para lo que los caracteres ASCII pueden llenar. Al mezclar y combinar estos ajustes preestablecidos para las ocho secciones, podemos hacer una variedad de personas de nieve.
Todos los preajustes
(Observe que los espacios se colocan en líneas vacías, por lo que la forma de la sección siempre es correcta).
H es para sombrero
Sombrero de copa
_===_
Sombrero mexicano
___ .....
Fez
_ /_\
-
___ (_*_)
N es para nariz / boca
Normal
,
Punto
.
Línea
_
Ninguna
L es para ojo izquierdo
Punto
.
Punto más grande
o
El punto más grande
O
Cerrado
-
R es para el ojo derecho
(La misma lista que el ojo izquierdo).
X es para brazo izquierdo
Brazo normal
<
Brazo hacia arriba
\
Brazo hacia abajo
/
Ninguna
Y es para el brazo derecho
Brazo normal
>
Brazo hacia arriba
/
Brazo hacia abajo
\
Ninguna
T es para el torso
Botones
:
Chaleco
] [
Brazos interiores
> <
Ninguna
B es para base
Botones
:
Pies
" "
Plano
___
Ninguna
Desafío
Escriba un programa que tome una cadena de ocho caracteres (a través de stdin o línea de comando) en el formato HNLRXYTB
, donde cada letra es un dígito del 1 al 4 que denota qué preajuste usar para la sección correspondiente de la persona de nieve. Imprima la persona de nieve completa en stdout.
Por ejemplo, la entrada 11114411
es el muñeco de nieve en la parte superior de la página. (Primero 1
: tiene un sombrero de paja, segundo 1
: tiene una nariz normal, etc.)
Otro ejemplo, la persona de nieve para la entrada 33232124
:
_
/_\
\(o_O)
(] [)>
( )
Detalles
Cualquier cantidad y combinación de espacios iniciales / finales y nuevas líneas iniciales / finales se permiten siempre que ...
- el muñeco de nieve tiene todas sus secciones ordenadas correctamente una con respecto a la otra, y
- nunca hay más de 64 caracteres de espacio en blanco en total (el patrón general es solo 7 × 5, por lo que probablemente no alcanzará este límite).
No necesita imprimir filas / columnas del patrón si solo contienen espacios en blanco. Por ejemplo, no se requiere la línea vacía del sombrero de paja.
Debe usar el orden de las piezas como se indica arriba.
En lugar de un programa, puede escribir una función que tome la cadena de dígitos como argumento. La salida debe imprimirse normalmente o devolverse como una cadena.
- Puede tratar la entrada como un entero en lugar de una cadena si lo prefiere.
Puntuación
El código más corto en bytes gana.
Pregunta extra: ¿Cuál de las 65536 personas de nieve distintas es tu favorita?