(relacionado / inspirado por: Dibuja una formación de bolos )
Un pasatiempo divertido en los meses de invierno es realizar bolos de muñeco de nieve, usando una pelota grande (como una pelota de baloncesto) y pequeñas figuras de muñeco de nieve. Recreemos esto en ASCII.
Cada muñeco de nieve consta de lo siguiente:
(.,.)
( : )
Aquí está la alineación de los diez "alfileres" del muñeco de nieve
(.,.) (.,.) (.,.) (.,.)
( : ) ( : ) ( : ) ( : )
(.,.) (.,.) (.,.)
( : ) ( : ) ( : )
(.,.) (.,.)
( : ) ( : )
(.,.)
( : )
Estos "pines" están etiquetados de 1a 10como
7 8 9 10
4 5 6
2 3
1
Hasta ahora, tan estándar. Sin embargo, a diferencia de los bolos normales, los alfileres del muñeco de nieve simplemente se aplanan y no se quitan por completo. Esto lo hace alguien que necesita aplanar manualmente la nieve de cualquier pin que haya sido golpeado. Un muñeco de nieve aplanado está representado por _____(cinco guiones bajos), con un espacio en blanco arriba. Aquí hay un ejemplo con los 1 3 5 6 9 10pines aplanados (lo que significa que solo 2 4 7 8quedan los pines)
(.,.) (.,.)
( : ) ( : ) _____ _____
(.,.)
( : ) _____ _____
(.,.)
( : ) _____
_____
Entrada
- Una lista de enteros desde
1hasta10en cualquier formato conveniente que represente qué pines se golpearon y, por lo tanto, deben aplanarse. - Cada número solo aparecerá como máximo una vez, y los números pueden estar en cualquier orden (ordenados, sin clasificar, ordenados descendentes): su elección, lo que haga que su código sea más golfoso.
- Se garantiza que la entrada tenga al menos un número entero.
Salida
La representación artística ASCII resultante de los pines del muñeco de nieve, con los pines correctos aplanados.
Reglas
- Las nuevas líneas o espacios en blanco iniciales o finales son opcionales, siempre que los caracteres se alineen correctamente.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Si es posible, incluya un enlace a un entorno de prueba en línea para que las personas puedan probar su código.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos
1 3 5 6 9 10
(.,.) (.,.)
( : ) ( : ) _____ _____
(.,.)
( : ) _____ _____
(.,.)
( : ) _____
_____
1 2 3
(.,.) (.,.) (.,.) (.,.)
( : ) ( : ) ( : ) ( : )
(.,.) (.,.) (.,.)
( : ) ( : ) ( : )
_____ _____
_____
1 2 3 4 5 6 8 9 10
(.,.)
( : ) _____ _____ _____
_____ _____ _____
_____ _____
_____
fuente

Respuestas:
05AB1E ,
4544 bytesPruébalo en línea!
Explicación
fuente
Muñeco de nieve 1.0.2 , 157 bytes
Pruébalo en línea!
Cuando vi este desafío, supe que tenía que responder en el idioma perfecto ...
Esta es una subrutina que toma la entrada como una matriz de números y las salidas como una cadena a través del permavar actual.
Envuelto para "legibilidad" / estética:
Versión ungolfed / comentada:
fuente
apilada , no competitiva, 118 bytes
Agregué
deepmapy algunas otras cosas después de este desafío, junto con toneladas de correcciones de errores. Pruébalo aquí!Sin golf
Salida:
fuente
Python 2,
248243241226224223221210206200177 bytes-5 gracias a @Rod
-15 nuevamente gracias a Rod
-1 usando el cálculo del espacio nuevamente desde Rod
Parece más largo debido a más líneas y sangrías, pero sorprendentemente 11 bytes más cortos.
Estoy seguro de que esto será inferior a 200 ...
Tenía razón, pero no sin 23 bytes de pistas serias de @ Pietu1998. ¡Muchas gracias!
Pruébalo en línea!
Toma la entrada como una lista de enteros. Demasiado grande en 248 pero funciona.
fuente
C #
233221213203 bytesEl método toma una matriz int a como la lista de pines caídos
envuelto
expandido
eliminó algunos bytes por sugerencias en los comentarios de Ghost, raznagul y auhmaan.
fuente
new[]{7,4,2,1}.Contains(i--)ai<9&&i%3==1||i==2i==7||i<5&&i!=3i==7|i<5&i--!=3var o="";var x=...porstring o="",x=""....Lote, 262 bytes.
Nota: Las líneas 2, 3 y 4 terminan en un espacio, y también genera un espacio final en cada línea. Estos se pueden eliminar a un costo de 5 bytes. Funciona creando las variables s1 ... s10 como las mitades inferiores de los muñecos de nieve, y luego alisando las dadas como argumentos de línea de comandos. Las filas apropiadas se imprimen dos veces, la primera vez con las mitades inferiores reemplazadas por las mitades superiores. Esto ahorra 18 bytes sobre el uso de dos conjuntos de medias variables superior e inferior.
fuente
JavaScript,
154149 bytesfuente
Pyth, 63 bytes
Un programa que toma la entrada de una lista de enteros e imprime el resultado.
Banco de pruebas
[Explicación más tarde]
fuente
Pyth, 51 bytes
El código contiene algunos no imprimibles, así que aquí hay un
xxdhexdump.Pruébalo en línea.
Sin imprimibles, 52 bytes
Pruébalo en línea.
fuente
Javascript
178169 bytesEsencialmente un puerto de mi respuesta C #.
Toma una matriz int como la lista de "pines" aplanados;
Envuelto:
Ampliado y explicado:
fuente