Introducción a ASCII-Golfing para 05AB1E (Conversión de base [Simple])
Si bien 05AB1E no está diseñado para ASCII-Art directamente, he ganado 2 desafíos con él. Lo mejor de 05AB1E es que, incluso con la conversión de base simple, a menudo hay trucos que puede usar para extender e incluso reducir a la mitad su conteo de bytes. A menudo, en los desafíos ASCII hay trucos de repetición que puede utilizar para dibujar solo la mitad del patrón y luego voltear y concatenar. Si se trata de un patrón de cuatro vías, puede hacer cosas como comprimir y bifurcar para dibujar solo una esquina del patrón. Hay muchas técnicas de manipulación de estructura de datos para usar en conjunto con esta idea de compresión de base simple.
Aquí hay un curso rápido en una táctica de conversión de base:
En 05AB1E enumero todos los caracteres utilizados en el arte ASCII, por ejemplo:
--===___===--
Daría como resultado:
-
=
_
Luego les asigno números que comienzan con 1, luego 0 y luego 2:
- is 1.
= is 0.
_ is 2.
Reemplazo los caracteres en la cadena original con los números:
1122200022211
Convierto a decimal usando la base más baja posible (3):
879412
( Cómo hacer esto usando 05AB1E )
Luego lo convierto en base 214:
Jh]
( Cómo hacer esto usando 05AB1E )
Luego lo envuelvo en el siguiente código:
•Jh]•3B…102…-_=‡
Pruébalo en línea!
O pruébelo con los pasos intermedios que se muestran.
Final explicado:
•Jh]• # Push the compressed ASCII integer.
3B # Convert it to base 3.
…102 # Push the keys to the conversion.
…-_= # Push the values to the conversion.
‡ # Transliterate, replace 0, 1 and 2 with the symbols.
Ahora, con este desafío específico, la cadena es tan corta que no tiene sentido hacerlo. Probablemente solo empujaría la mitad de la cadena y Palindromize por 10 bytes "--===__"û
o jugaría golf como lo hizo Adnan en los comentarios usando factorial, hombre inteligente •Jh]•3B5!…-=_‡
. También es (uno de?) El creador (es) de 05AB1E.
Ejemplo más complejo:
/codegolf//a/106621/59376
Además, quizás pruebe el lenguaje de complejidad kolmogorov de Dennis: Bubblegum ; No tengo idea de cómo usar esto.