J'ai soudainement très envie de jouer au tennis, mais hélas je n'ai pas de court!
Surprise! C'est là que tu entres.
Vous devez imprimer un court de tennis pour moi, mais vous devez le faire le moins d'octets possible pour des raisons de confidentialité.
Court de tennis
---------
| |
---------
| | |
xxxxxxxxx
| | |
---------
| |
---------
Réponses:
Toile , 13 octets
Essayez-le ici!
la source
Python 2, 65 octets
Flp.Tkc a sauvegardé un octet.
la source
'|'+' '*7
la deuxième chaînes
pour sauvegarder un octet!05AB1E ,
292726 octetsEssayez-le en ligne!
la source
9'-×D'|4ð׫©ûs®¨'|«û5'x×»û
essayé de refactoriser un peu, ne peut pas casser 26.Python 3 -
7372 octetsPython 3.6 - 75 octets
Le crédit va à flp-tkc . Merci :)
Essayez ici!
la source
/// ,
6456 octetsEssayez-le en ligne!
Une autre solution de 56 octets:
la source
V , 25 octets
Essayez-le en ligne!
Cela devrait être 23 octets:
Mais j'ai rencontré plusieurs bugs lors de sa création. :(
la source
Gelée , 25 octets
TryItOnline!
J'avais espéré utiliser la répétition d'audience 1,3,1 quart, mais je ne peux pas réduire cela en moins (une version brute étant 28:)
“ßṂuB’b4s3x“¢¤¢‘ị“- x|”ŒBŒḄY
.Comment?
la source
J,
70545150 octetsEnregistré un octet grâce à Zgarb!
Une technique de compression standard, utilisant un RLE compressé.
la source
9 9$'-| |-| | |x| | |'#~3 9 1 7{~4#.inv 1851926050
Ruby, 60 octets
Ungolfed
la source
Outils bash / Unix,
5857 octetsSeuls quatre caractères autres que nouvelle ligne apparaissent dans la sortie souhaitée, ce qui permet de coder chaque ligne en tant que nombre base 4. Ces chiffres sont ensuite écrits en hexadécimal dans le script, par souci de brièveté.
La calculatrice Unix dc est utilisée à la fois pour la conversion de la base 16 à la base 4 et pour la manipulation de pile afin de permettre la répétition facile des lignes aux bons endroits.
Edit: coupez un octet en remplaçant deux des 4 chiffres de la base utilisés pour coder les caractères, permettant ainsi à la commande tr d’être plus courte d’un octet que la version précédente.
la source
JavaScript, 85 octets
la source
JavaScript (ES6),
86848381 octets2 octets sauvés, merci à Neil
Méthode alternative n ° 1, 93 octets
Méthode alternative n ° 2, 86 octets
Proposé par Neil:
Méthode alternative n ° 3, 91 octets
Une approche récursive:
la source
console.log('-9\n| 7|\n-9\n| 3| 3|\nx9\n| 3| 3|\n-9\n| 7|\n-9'.replace(/.\d/g,s=>s[0].repeat(s[1])))
(remplacez\n
par newline évidemment).console.log('-\n |\n-\n |\nx\n |\n-\n |\n-'.replace(/.*/g,s=>s.repeat(9).slice(-9)))
.|
le cas échéant, au lieu de l'espace unique qui apparaît dans mon commentaire.SOGL 0,5 ,
242320 octets (non concurrents)Explication:
Alors, comment fonctionne la chaîne compressée?
La chaîne convertie de base250 en binaire est
1000000100111110010100001110100000001100010001
et approximativement ce qu'il fait:
non-concurrent, parce que la langue postdate le défi. Et ce défi n'a qu'un jour. Je savais que j'aurais dû mettre quelque chose en place hier. Je l’ai fait comme test pour ma langue et cela a été trop beau pour ne pas être posté. Je suis sûr que c'est golfable plus aussi.
la source
/// , 59 octets
Essayez-le en ligne!
Outgolfed ...
la source
Javascript (ES6), 86 octets:
Testez ici:
la source
b
, ce qui signifie que vous pouvez supprimer la nouvelle ligne aprèsxxxxxxxxx
et celle que vous ajoutez entrea
etb
. Vous pouvez enregistrer 3 octets supplémentaires en définissanta
sur---------
first, puis en concaténant la deuxième ligne et a sur elle-même.05AB1E , 26 octets
Utilise le codage CP-1252 . Essayez-le en ligne!
la source
PHP,
6662 octetsC'est la réponse originale (66 octets):
Il génère un avis en raison de la constante inconnue
x
. La notification peut être supprimée en définissanterror_reporting=0
dansphp.ini
ou dans la ligne de commande:La dernière ligne de la sortie ne se termine pas par un caractère de nouvelle ligne.
La réponse mise à jour (62 octets), améliorant une amélioration suggérée par @Titus:
Exécutez-le sans fichier de configuration (par défaut de
error_reporting=0
cette façon):Les deux versions du code contiennent de nouvelles lignes littérales incorporées dans la chaîne (1 octet plus court que
\n
) et ne peuvent pas être décompressées.la source
-d error_reporting=0
, juste utiliser-n
.<?=$a=($b="---------\n|")."...
.-n
est beaucoup plus court que-d error_reporting=0
:-) Il n'y a en effet que 66 caractères utiles dans la réponse. Je les ai comptés en utilisantls -l
et j'ai oublié que monvi
est configuré pour s'assurer que le fichier se termine par une nouvelle ligne. J'ai amélioré votre amélioration et comprimé 3 autres octets. Je vous remercie.PHP, 72 octets
Je déteste presque quand il est plus court comme ça que de calculer un peu.
la source
Ruby, 52 octets
En utilisant la double simétrie, les lignes sont:,
0-1-0 / 2-3-2 / 0-1-0
la boucle peut être facilement déroulée et la liste imbriquée est aplatie en sortie.la source
Pyke,
282625 octetsEssayez-le ici!
la source
05AB1E, 25 octets
Utilise le codage CP-1252 . Essayez-le en ligne!
Explication:
la source
Vim, 32 octets
Cela imprimera le court de tennis dans un tampon vim.
^M
représente la touche Entrée (0x0d) et^[
la touche Échap (0x1b). Vous pouvez exécuter ces séquences de touches / code en les enregistrant dans un fichier et en les exécutant.Impression sur stdout
S'il doit être imprimé sur stdout à la place, vous pouvez enregistrer le tampon dans un fichier (j'ai utilisé "a") et utiliser le shell
vim
utilisé (j'ai utilisébash
) ainsi que lecat
programme permettant d'imprimer le court de tennis. stdout (51 bytes):C'est la même chose que la version précédente mais avec
:w!a|sil !cat %^M:q^M
ajouté à la finla source
J, 36 octets
Cela fonctionne sur le REPL, qui est le moyen standard d’utiliser J:
Avec 41 octets , je peux imprimer le résultat sur STDOUT:
Essayez-le en ligne!
Explication
Je construis le court de tennis une rangée à la fois.
la source
PowerShell ,
67 à66 octetsEssayez-le en ligne!
Juste une certaine multiplication de chaînes, la définition de variables et la garantie qu'elles sont encapsulées entre parenthèses afin de placer des copies sur le pipeline. La valeur par défaut
Write-Output
à l'achèvement du programme nous donne les nouvelles lignes entre elles gratuitement.Merci à @ConnorLSW pour avoir sauvegardé un octet évident.
la source
$(' '*7)
est en fait 8 caractères, serait plus courte à faire| |
que des espaces.ToLower()
économie sur mon autre réponse;)Python 2, 75 octets
Utilise des variables empruntées à @GurupadMamadapur
Alternative aussi pour 75
la source
Emacs,
4335 frappes au clavierM-9
x
RET: neuf x, retourC-SPC: marque de repère
|
M-3 SPC|
M-3 SPC|
RET: tuyau, trois espaces, tuyau, trois espaces, tuyau, retourM-9
-
RET: neuf traits d'union, retour|
M-7 SPC|
RET: tuyau, sept espaces, tuyau, retour deM-9
-
RETneuf traits d'union, retourC-x C-x: point d'échange et marque, région de sélection
M-w: région de copie
C-p: ligne précédente
C-y: yank texte copié
M-x
rev-r
RET:reverse-region
commande executela source
Lua, 82 octets.
J'ai essayé beaucoup de méthodes, et pourtant celle-ci a prouvé le vainqueur.
la source
Pushy , 33 octets
Cette question a eu 33 votes positifs, et il y a eu 33 réponses. Il me suffisait donc de publier une solution à 33 octets ...
Essayez-le en ligne!
Explication
Le code peut être divisé en plusieurs parties pour faciliter la compréhension. La première partie fonctionne comme suit:
La pile est maintenant:
L'opérateur de miroir
w
, puis met en miroir l'ensemble de la pile, en produisant:Ensuite:
La pile commence maintenant à ressembler au court de tennis:
Pour terminer, nous utilisons encore
w
une fois l’ opérateur de miroir , qui reflète cette corde pour produire le court de tennis complet.Il ne reste plus qu'à imprimer, ce qui est fait par le
"
personnage.la source
Unix Shell; en utilisant dc et tr; 55 octets: (optimisation de la solution Mitchell Spector)
Autres solutions: Utiliser sed; 81 octets;
Utilisation de dc en fonction: 88 octets
ou
Utilisation de bc dans la fonction: 99 octets
la source
Powershell, 56 octets
Explication: simple moitié du court
Alternative, 68 octets
Explication: le quart de la cour utilise les mêmes index pour l'affichage des lignes et des colonnes
la source