Introduction à l'ASCII-Golf pour 05AB1E (conversion de base [simple])
Bien que 05AB1E ne soit pas destiné directement à ASCII-Art, j'ai remporté 2 défis avec. La meilleure chose à propos de 05AB1E est que, même avec la simple conversion de base, il existe souvent des astuces que vous pouvez utiliser pour étendre et même réduire de moitié votre nombre d'octets. Souvent, dans les défis ASCII, il existe des astuces de répétition que vous pouvez utiliser pour dessiner uniquement la moitié du motif, puis inverser et concaténer. Si c'est un motif à quatre directions, vous pouvez faire des choses comme zip et bifurquer pour dessiner seulement un coin du motif. Il existe de nombreuses techniques de manipulation de la structure des données à utiliser conjointement avec cette idée de compression de base simple.
Voici un cours accéléré rapide sur une tactique de conversion de base:
Dans 05AB1E, j'énumère tous les caractères utilisés dans l'art ASCII, par exemple:
--===___===--
Se traduirait par:
-
=
_
Je leur attribue ensuite des numéros commençant par 1 puis 0 puis 2:
- is 1.
= is 0.
_ is 2.
Je remplace les caractères de la chaîne d'origine par les chiffres:
1122200022211
Je convertis en décimal en utilisant la base la plus basse possible (3):
879412
( Comment faire cela en utilisant 05AB1E )
Je le convertis ensuite en base 214:
Jh]
( Comment faire cela en utilisant 05AB1E )
Je l'enveloppe ensuite dans le code suivant:
•Jh]•3B…102…-_=‡
Essayez-le en ligne!
Ou essayez-le avec les étapes intermédiaires affichées.
Final expliqué:
•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.
Maintenant, avec ce défi spécifique, la chaîne est si courte qu'elle n'a pas de sens. Je pousserais probablement la moitié de la chaîne et palindromiserais pour 10 octets "--===__"û
ou le jouerais comme Adnan dans les commentaires en utilisant factorial, smart man •Jh]•3B5!…-=_‡
. Il est également (l'un des?) Créateur (s?) De 05AB1E.
Exemple plus complexe:
/codegolf//a/106621/59376
Essayez aussi le langage de complexité kolmogorov de Dennis: Bubblegum ; aucune idée de comment l'utiliser.