Générez l'art ASCII de l'équipe de football suivant avec le moins d'octets possible.
|.| |.| |.| |.| |.| |.| |.| |.|
]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[
/~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\
{<| 8 |>}{<| 6 |>}{<| 1 |>}{<| 3 |>}{<| 7 |>}{<| 5 |>}{<| 4 |>}{<| 2 |>}
\|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/
/ \ / \ / \ / \ / \ / \ / \ / \
/__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\
| / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ |
(/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \)
|) (| |) (| |) (| |) (| |) (| |) (| |) (| |) (|
(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)
Notez que les pieds des joueurs alternent entre (.|,.,|,)
et son miroir, mais leurs yeux pointent tous dans la même direction `-'
.
But
Le moins d'octets gagne!
Règles
- Des trous de boucle standard s'appliquent
- Toute quantité d'espace blanc de fin / de début est légale.
Réponses:
Charbon de bois ,
1069592917977 octetsEssayez-le en ligne!Edit: enregistré 11 octets en bouclant sur les numéros de chemise. Enregistré 3 octets en déterminant comment cela aJ
fonctionné. Enregistrement d'un octet supplémentaire à l'aide d'instructions de mise en miroir distinctes. 12 octets enregistrés grâce à @ ASCII uniquement en compressant la chaîne du demi-lecteur. Enregistré 2 octets en répétant le miroir dans une boucle. Explication:Modifier: Le code ci-dessus ne fonctionne plus dans le charbon de bois actuel; La compression de chaîne semble avoir changé et la commande Reflect accepte désormais une multidirection et laisse le curseur dans une position différente. Cependant, il est possible d'adapter le code pour qu'il fonctionne dans le charbon de bois actuel pour le même nombre d'octets. Essayez-le en ligne! Le lien est vers la version détaillée du code. (Notez que le déverbosificateur essaie de compresser
6137542
pour une raison quelconque, bien que ce ne soit pas nécessaire.) Il devient alors possible de jouer un octet supplémentaire. Essayez-le en ligne! Le lien est vers la version détaillée du code.la source
-sl
c'est seulement pour montrer la longueur, qui peut être laissée de côté'
, mais heureusement, j'ai repéré l'erreur avant d'enregistrer la modification.Brainf ** k,
855852 octetsC'est trop long ...
Explication:
la source
*
qui ajoutent 3 octets, donc vos octets devraient être 852. 2. Vous pouvez remplacer[-]
par,
, car certains interprètes ne0x00
V , 127 octets
Essayez-le en ligne!
Comme d'habitude, voici un hexdump:
la source
SOGL ,
92888785 octetsExplication:
La chaîne compressée est
avec des tirets (car ceux-ci pourraient être compressés avec des chaînes de caractères) à la place des caractères rares, qui sont ensuite remplacés puis divisés en lignes pour obtenir
la source
JavaScript (ES6),
196194214 214210204 octetsJouez au golf tôt le matin sur mon téléphone, il y a donc place à amélioration.
J'ai dû sacrifier quelques octets fixant les pieds que je n'ai pas remarqués alternaient.
Essayez-le
(Obsolète) Explication
Nous commençons par une chaîne contenant les caractères d'un seul joueur avec chaque ligne séparée par un
n
, a0
comme espace réservé pour le nombre et avec1
&2
utilisé comme espaces réservés pour les signes de ponctuation dans les pieds alternés.Nous divisons la chaîne en un tableau des lignes individuelles
n
, mappons ce tableau en remplaçant chaque élément par lui-même répété 8 fois, puis joignons le tableau à une chaîne à l'aide d'un saut de ligne littéral.Enfin, nous remplaçons chaque numéro de la chaîne par le numéro de joueur requis si le numéro est
0
ou le caractère nécessaire pour compléter les pieds du joueur si le numéro est1
ou2
.la source
Rubis, 161
Maintenant avec des pieds alternés. En interne, il génère 8 doubles jeux de pieds (16 au total). Certains d'entre eux sont ensuite supprimés en tronquant à 72 caractères par ligne.
Rubis, 144
Assez simple, imprime ligne par ligne, 8 footballeurs partiels à la fois et utilise l'
%
opérateur (commesprintf
) pour remplacer les numéros de maillot (lorsque la chaîne ne contient pas,%d
ils sont ignorés.)la source
Java,
391444 octetsEDIT: Vraiment fixe. Dieu, ça a vraiment fait monter la taille
Étendu
la source
i%2>0
enregistre un octet, peut-être mêmei++%2>0
fonctionne. Quoi qu'il en soit, la condition peut être mise dans un ternaire à l'intérieur duprint(...)
. La création du tableau dans l'en-tête de boucle doit également enregistrer un ou deux octets. Je ne suis pas sûr mais je pense qu'il manque un espace dans la dernière ligne des jambes ...class B{int i;void p(String s){System.out.print(s);}void e(String s){for(i=8;i-->0;)p(s);p("\n");}void a(){e(" |.| ");e(" ]^[ ");e(" /~`-'~\\ ");for(int i:new int[]{8,6,1,3,7,5,4,2})p("{<| " + i + " |>}");p("\n");e(" \\|___|/ ");e(" / \\ ");e(" /__|__\\ ");e(" | / \\ | ");e(" (/ \\) ");e(" |) (| ");for(i=8;i-->0;)p(i%2<1?"(,|,.,|.)":"(.|,.,|,)");}}
"seulement" 366 octets. Attention aux copier / coller: le logiciel SE ajoute quelques caractères pour fractionner la chaîne. Remarques: fixe les jambes, la tête, etc.class B{...}
peut également être supprimé (ce qui est également assez inutile sansmain
méthode). De plus, vous pouvez approfondir le code dans votre commentaire en changeantvoid p(String s){System.out.print(s);}
pour<T>void p(T x){System.out.print(x);}
.05AB1E ,
126124108106 106110 octetsMerci à Emigna pour avoir économisé 7 octets!
Utilise l' encodage 05AB1E . Essayez-le en ligne!
la source
JavaScript (ES6),
198197 octetsComprend un saut de ligne de tête.
Démo
Afficher l'extrait de code
la source
Python 2.7, 179 octets
Encodez un joueur comme une chaîne unique avec des caractères hors bande pour nous permettre de le diviser en une liste, afin que nous puissions ensuite multiplier chaque couche par 8 et enfin insérer les nombres et les signes de ponctuation requis dans la sortie.
la source
Python 2 ,
207197186201 201 octetsEssayez-le en ligne!
Rien de bien malin et de trop long à
207197mais autant que je sache, au moins ça imprime les pieds correctement.Modifier un peu mieux à 186
Edit 2 Retour à plus de 200 après avoir repéré pourquoi les pieds n'étaient pas en fait bien. Gotcha bien caché!
la source
PHP, 204 octets
Essayez-le en ligne!
PHP, 205 octets
Essayez-le en ligne!
PHP, 211 octets
Essayez-le en ligne!
la source
[+$i]
n'a pas besoin+
.for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)
et[$y-1]
+
for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)echo str_pad(["|.|","]^[","/~``-'~\\","{<| $n |>}","\|___|/","/ \\","/__|__\\","| / \ |","(/ \)","|) (|",$p&1?"(,|,.,|.)":"(.|,.,|,)"][$y-1],9," ",2);
)foreach
; c'est pourquoi je n'avais pas besoin de ça+
.Ook! , 8519 octets
J'ai dû.
Port de tony200910041's brainf ** k réponse
la source
C #, 420 octets
Le golf:
Étendu:
Inspiré par la réponse Java de Jesse M, avec quelques modifications pour le raccourcir
la source
i%2
au lieu de(i%2==0)
et inverser les?:
parties. Je pense également que le fait deWrite(" {0} ",s);
couper l'espace blanc desX()
appels permettrait d'économiser 10 autres octets.X
méthode et en bouclant simplement, je crois au moins. Vous pouvez compilerAction<string>
pour supprimer les peluches. Cela signifierait que vous renvoyez unstring
et que vous n'avez pas à l'écrire, supprimant ainsi le besoin de leConsole
. Vous pouvez supprimer leusing System
car cela n'est nécessaire que pour l'String
endroit où vous pouvez utiliser à lastring
place. Il existe également de nombreuses autres améliorations. Je suis désolé, mais il ne semble pas du tout que vous ayez essayé de jouer au golf autant.Mathematica 282 octets
la source
Rétine , 270 octets
Essayez-le en ligne!
la source
Bubblegum ,
130117 bytesEssayez-le en ligne!
la source
Perl 5 , 206 octets
Essayez-le en ligne!
C'est laid et brutal, mais ça marche.
la source