Objectif:
Un gourou a dit un jour qu'un selfie de code parfait était mieux tourné en diagonale depuis le coin supérieur gauche. Un selfie de code est presque comme un Quine - mais tourné à 45 degrés dans le sens des aiguilles d'une montre. Votre mission est de coder un programme qui génère un selfie de code.
Règles:
- Vous pouvez utiliser n'importe quel langage de programmation.
- Vos programmes ne doivent prendre aucune entrée de fichier, nom de fichier, réseau ou autre.
Critères obligatoires:
Les selfies concernent le motif et l'arrière-plan, donc les espaces vides (et tout autre contenu non visible comme les sauts de ligne et autres) ne comptent pas comme faisant partie du nombre de caractères. Tous les caractères visibles sont limités pour être émis sur la position de rotation correcte de 45 degrés tandis que tous les caractères non visibles ne sont pas limités à la position de rotation correcte de 45 degrés. Tout comme une palette de couleurs sur un selfie normal, obligatoire pour un selfie de code, il contient au moins 16 de ces caractères: {a-zA-Z0-9}
Exemple:
Si cet exemple est un code source valide:
Output abcd
Output efgh
Output ijkl
Output mnop
L'exemple de code devrait afficher ceci:
O
O u
O u t
O u t p
u t p u
t p u t
p u t
u t a
t e b
i f c
m j g d
n k h
o l
p
C'est le code-golf, le code source le plus court en octets gagne!
Réponses:
Javascript ( ES6 ), 72 octets
Palette de 16 caractères alphanumériques uniques:
fjalert0plcgmixn
m
et desi
drapeaux sont ajoutés à l'expression rationnelle pour répondre aux exigences minimales de la palette.la source
CJam,
30 2825 octetsC'est un peu long en raison du caractère 16 de la
A-Za-z0-9
limite.Ceci est une variante non triviale d'un quine standard dans CJam. Ajoutera bientôt des explications.
MISE À JOUR - 2 octets enregistrés grâce à Martin, 3 octets enregistrés grâce à Dennis
Essayez-le en ligne ici
la source
Java, 312
Il y a en fait 326 octets, mais si je comprends bien les règles, je n'ai pas à compter les 14 espaces.
Le programme est fondamentalement un quine Java standard, plus beaucoup d'espaces.
la source
Python 3, 139 caractères - 10 espaces = 129 caractères
Comme mon code n'était qu'une ligne, tout ce que j'avais à faire était d'imprimer le programme en diagonale. Ma chaîne porte le nom étrange «sjxd» afin que mon code puisse avoir les 16 caractères alphanumériques uniques.
la source
CSS, 69 octets
Mettez une page html vierge pour éviter les conflits avec d'autres balises.
Palette:
stylebfortanm45dgiplck
(22 caractères)la source
MATLAB, 40 octets
Un peu difficile avec l'ensemble de la récursivité - comment imprimer votre propre code source lorsque l'ajout du code à une chaîne à imprimer augmente la taille du code source lui-même. Mais, néanmoins, ce qui suit le fera:
Le
123456;
bit est là pour répondre aux 16 caractères uniques requis. Les éléments suivants sont utilisés:Le code ci-dessus ne fonctionne pas sur Octave pour une raison quelconque, mais fonctionne dans MATLAB. Voici la sortie:
Maintenant, si cela ne vous dérange pas le
ans=
peu que MATLAB aime mettre, ce qui suit fonctionnerait pour 32 octets :la source