¿No le parece que leer un texto simple no es lo suficientemente atractivo? Pruebe nuestro
##### ### ### ##### ##### ##### ##### # # ##### #
# # # # # # # # # # # # #
##### ### # # # # #### # # #
# # # # # # # # # # # #
# # ### ### ##### ##### # ##### # # # #
Mucho más elegante, ¿no? Pero es bastante largo escribir a mano, ¡sería maravilloso si alguien hiciera un programa que lo haga por mí!
¡Su tarea , si se ofrece como voluntario para ayudarme, será escribir un programa o una función que tome una cadena que [a-zA-Z\s\n]
solo contenga , y genere (o devuelva) la escritura ascii de la misma!
Debe usar el siguiente alfabeto para formatear su salida:
##### #### ### #### ##### ##### ### # # ##### ##### # # # # #
# # # # # # # # # # # # # # # # # # ## ##
##### #### # # # #### #### # ## ##### # # ### # # # #
# # # # # # # # # # # # # # # # # # # # # #
# # #### ### #### ##### # ### # # ##### ### # # ##### # #
# # ### #### ### #### ### ##### # # # # # # # # # # #####
## # # # # # # # # # # # # # # # # # # # # # #
# # # # # #### # # #### ### # # # # # # # # # # #
# ## # # # # ## ## # # # # # # ## ## # # # #
# # ### # #### # # ### # ### # # # # # # #####
El espacio:
|
| it's a 5x5 square of spaces
| but had to pad it with |s to make it appear in this post
|
|
Como se trata de una fuente de ancho fijo, el carácter de espacio también está rodeado de espacios, lo que da como resultado un espacio de 7 anchos entre las dos letras.
a b
1234567 -- these numbers are just for the example, you don't have to output them
##### ####
# # # #
##### ####
# # # #
# # ####
a b
1234567890123
##### ####
# # # #
##### ####
# # # #
# # ####
Cuando encuentre una nueva línea, como en la entrada
ascii
text
Solo asegúrese de separar los dos bloques de texto con al menos una línea vacía
##### ### ### ##### #####
# # # # # # #
##### ### # # #
# # # # # # #
# # ### ### ##### #####
##### ##### # # #####
# # # # #
# #### # #
# # # # #
# ##### # # #
Además, puede reemplazar la #
s con cualquier otro carácter siempre que esté en el rango ASCII imprimible y no sean espacios. Por ejemplo, puede usar A
s para la letra A, B
para la letra B y así sucesivamente.
Como se trata de código de golf (y, además , complejidad de kolmogorov ), la presentación ganadora será la que resuelva este desafío en el menor byte posible, ¡diviértete!
fuente
Respuestas:
Python 3, 375 bytes
Vea este código ejecutándose en ideone.com.
El mismo código, pero de alguna manera muy bien sangrado, formateado y comentado:
También decidí optar por la codificación de base 36, ya que es la base
int()
nativa más alta que admite Python . Aquí hay un breve script de Python 3 que escribí (sin golf) que convierte las definiciones de fuente como en la pregunta en códigos base 36: Mi convertidor en ideone.comEl resultado consiste en el carácter
1
como píxel habilitado y un espaciocomo píxel deshabilitado. Aquí hay un solo ejemplo de ejecución:
Entrada (salto de línea como
\n
):Salida:
fuente
Clojure, 552 bytes
Cada letra en ascii se representa como una cadena binaria con # - 1, espacio - 0. Luego se convierte en la base 36 para que solo se necesiten 5 caracteres para almacenar + ":" para que Clojure sepa que debe tratarse como un símbolo. Luego, la entrada se divide por el símbolo de nueva línea y para cada línea convertimos una letra en 36 bases a base binaria y obtenemos los primeros símbolos [0: 5] agregamos símbolos de nueva línea, obtenemos los siguientes símbolos [5:10] y así sucesivamente.
Puedes verlo ejecutándose aquí: https://ideone.com/y99ST5
fuente
SOGL , 137 bytes (no competitivos)
Explicación:
nota: actualmente este idioma no puede aceptar una cadena de entrada multilínea, así que le pedí un número y leí las siguientes líneas x como entrada.
La primera cadena es
comprimido usando un diccionario personalizado que usa "" y "-" (la compresión tiene un modo especial con "\ n - | / _" disponible, ¡así que aún más compresión!)
Contiene 25 caracteres por ascii char en el orden del alfabeto. se ordenan de arriba hacia abajo y luego a la derecha.
los caracteres van como
y esa es la misma forma en que los
┼
agrega a una matriz.fuente
foo\nbar
para entradas dePowershell,
261253 bytesScript de prueba:
Salida:
Nota:
$s|% *per|% t*y
es atajo para$s|% toUpper|% toCharArray
Sobre el espacio:
Para cada carácter de la cadena de origen, el script toma un símbolo (máscara de bits) de la cadena mágica
'_ONO__NQ...'
. Sin embargo, el índice va más allá de la cadena mágica para un espacio. En este caso, la máscara de bits$c
se vacía. Significa cero para todos los bits.Sobre línea en blanco:
El script muestra 6 filas para cada símbolo en lugar de 5. El índice va más allá de la cadena mágica para una línea en blanco también. Entonces, la fila 6 contiene solo espacios.
Se ve mejor si imprime otro personaje en lugar de un espacio. Por ejemplo
·
.fuente
C (gcc) , 326 bytes
Una primera puñalada. Tenía que incluir stdio.h y string.h en TIO, pero no era necesario con MinGW.
Pruébalo en línea!
fuente
JavaScript (ES6),
292287278 bytesManifestación
Mostrar fragmento de código
fuente