Il s'agit d'une variation quine .
introduction
Nous écrivons tous du code court, car des raisons obscures , mais quoi que nous fassions, cela prendra au moins 144 pixels / octet (avec une police de 12 pixels). Mais que se passerait-il si nous encodions notre code en images? Telle est votre tâche aujourd'hui.
Défi
Votre tâche consiste à lire votre propre code source (les quines non appropriés sont autorisés, par exemple en lisant littéralement le fichier source), et à en créer une image, en définissant les composants rouge, vert et bleu d'un pixel en fonction de l'ASCII valeur du caractère.
Exemple:
Nous avons la chaîne "Hello world!"
Hello world!
Convertissons ceci en valeurs ASCII:
72 101 108 108 111 32 119 111 114 108 100 33
Mappez-y les valeurs RVB (si la longueur du code source n'est pas divisible par 3, utilisez 0 comme caractères restants):
__________________________________________________
| R | G | B || R | G | B || R | G | B || R | G | B |
----------------------------------------------------
|72 |101|108||108|111|32 ||119|111|114||108|100|33 |
----------------------------------------------------
Nous créons ensuite l'image avec la plus petite zone. Nous avons 4 ensembles de valeurs RVB, donc la plus petite image sera une image 2 * 2, allant du pixel supérieur gauche vers la droite:
Et nous obtenons cette image terriblement colorée (redimensionnée, donc au moins visible, prouve également à quel point elle peut devenir petite)
Règlement / Informations complémentaires
- Il n'y a pas d'entrée
- La sortie doit être dans un fichier séparé ou dans une fenêtre distincte.
- Pour les caractères multi-octets, divisez le caractère en 2 octets.
- Le code source doit être d'au moins 1 octet
- L'image doit être celle parmi les tailles possibles, qui a le rapport largeur / hauteur le plus proche de 1
- Le nombre de pixels sur l'image doit être exactement ceil (nombre d'octets / 3), aucun pixel supplémentaire ne doit être ajouté
Notation
Il s'agit d'un code-golf , donc la plus petite réponse en octets l'emporte.
height = N
et width = 1
? Je pense que vous voulez dire la largeur / hauteur la plus proche de 1.