Cette! est une grille de couleurs RVB ...
Fondamentalement, c'est une matrice à 2 dimensions dans laquelle:
- La première ligne et la première colonne sont en rouge.
- La deuxième ligne et la deuxième colonne sont vertes.
- La troisième ligne et la troisième colonne sont en bleu.
Voici les couleurs décrites graphiquement, en utilisant les lettres R, G et B.
Voici comment nous calculons la couleur de chaque espace de la grille.
- Rouge + Rouge = Rouge (# FF0000)
- Vert + Vert = Vert (# 00FF00)
- Bleu + Bleu = Bleu (# 0000FF)
- Rouge + Vert = Jaune (# FFFF00)
- Rouge + Bleu = Violet (# FF00FF)
- Vert + Bleu = Teal (# 00FFFF)
Le défi
- Écrivez le code pour générer une grille de couleurs RVB.
- C'est du code golf, alors essayez de le faire avec le plus petit nombre d'octets.
- Utilisez n’importe quel langage de programmation ou de balisage pour générer votre grille.
- Ce qui m'importe:
- Le résultat devrait afficher graphiquement une grille RVB avec les couleurs définies.
- Des choses qui m'importe peu:
- Si le résultat est une image, HTML, SVG ou un autre balisage.
- La taille ou la forme des blocs de couleur.
- Bordures, espacement, etc. entre ou autour des blocs.
- Il n'est certainement pas nécessaire que les étiquettes vous indiquent quelles doivent être les couleurs des lignes et des colonnes.
code-golf
graphical-output
AJFaraday
la source
la source
Bitmap
objet en C #?Réponses:
Bash, 44
Ici, les blocs sont des
.
personnages.^[
est un caractère d'échappement ASCII littéral (0x1b).Vous pouvez recréer ce script comme suit:
la source
printf ${f=\\e[3%dm.}$f$f\\n 1 3 5 3 2 6 5 6 4
printf \\e[3%dm. 1'
développe\\e[31m.
le code d'échappement ANSI pour le rouge , etc., et.
constitue le caractère à imprimer.printf "${f=^[[3%dm.}$f$f" 1 3 5 3 2 6 5 6 4
(Où^[
est un caractère d'échappement littéral = 1 octet et un caractère de nouvelle ligne littéral = 1 octet.)Assemblage 8088, IBM PC DOS,
4443 octetsRéférencement:
Ceci utilise les
INT 10H
services vidéo IBM PC BIOS pour écrire la grille de couleurs à l'écran. Malheureusement, la seule façon d'écrire un attribut de couleur spécifique nécessite également d'écrire du code pour placer le curseur à l'emplacement correct suivant. Il y a donc beaucoup de code supplémentaire pour cela.Voici la sortie s'exécutant sur un IBM PC CGA (en mode texte 40x25 pour l'agrandir).
Téléchargez et testez RGBGRID.COM pour DOS.
la source
Wolfram Language (Mathematica) , 41 octets
Wolfram Language (Mathematica) , 68 octets
Mathematica possède des fonctions intégrées pour toutes ces couleurs.
la source
Code machine 80386, IBM PC DOS, 38 octets
hex:
asm:
Sortie mise à l'échelle de dosbox:
la source
mov al, 13h
est incorrect à moins que DOSBox ne garantisse sonah = 0
entrée au programme.Excel VBA (fenêtre immédiate), 80 octets
Excel VBA (Fonction), 96 octets
Ce n'est pas un outil horrible pour le travail ... J'apprécie le fait qu'Excel affiche déjà une grille, il s'agit donc de définir la couleur de fond.
Nous remercions @Neil d'avoir suggéré d'utiliser
ColorIndex
plutôt que d'Color
économiser 43 octets.-21 octets grâce à @Keeta
-16 octets grâce à @Chronocidal pour avoir suggéré la "fenêtre immédiate"
-2 octets grâce à @i_saw_drones
Beaucoup de changements de ma soumission originale :)
la source
ColorIndex
un nombre de 3 à 8, que vous pourriez encoder dans une chaîne ou quelque chose.for i=1 To 3:for j=1 To 3:Cells(i,j).Interior.ColorIndex=Mid("367408005",i*j,1):next j,i
GFA Basic 2.02 (Atari ST), 48 octets
Une liste modifiée manuellement au format .LST. Inclut de nombreux caractères non imprimables, dont les codes sont indiqués entre parenthèses.
Le système d'exploitation de l'Atari ST définit les commandes VT52 étendues qui sont utilisées ici.
Sortie
capture d'écran de Steem SSE
la source
SVG,
210182 octetsÉtant donné que la taille ou la forme des blocs de couleur n'a pas d'importance, vous pouvez créer plusieurs octets avec cette disposition légèrement étrange:
la source
HTML + CSS,
121120 octetsLe pire morceau de HTML que j'ai jamais écrit. Sauvegarde d'un octet grâce à @Gust van de Wal
HTML + CSS, 114 octets (semi-valide)
Je mets ceci comme semi-valide parce que le bleu n'est pas exactement bleu # 0000FF et repose aussi sur le fait de ne pas avoir cliqué sur le lien.
Merci à @Lynn pour l'idée
la source
<w>
,<x>
,<y>
et<z>
.<a href=x>█
sera bleu par défaut, vous épargnant quelques octets de CSS :)ditaa , 118 bytes
Ceci est la sortie utilisant l'
-E
option:la source
R,
895048 octetsVersion la plus récente:
Pas assez d'éléments dans le vecteur pour remplir la matrice 3x3, donc il enroule autour et réutilise le premier élément.
Anciennes versions:
la source
Excel-VBA,
89737270 octetsEdit: Vous pouvez utiliser la fenêtre immédiate et vous passer de
Sub
/End Sub
pour sauvegarder 16 octets:Réponse originale:
Cela a été inspiré par la suggestion de Neil concernant cette réponse et constitue ma première soumission!
Résultat:
-2 octets : Suppression des numéros de ligne de cellule - grâce à Taylor Scott !
la source
For i=1To 9:[A:C].Cells(i).Interior.ColorIndex=Mid(367648785,i,1):Next
pour 70Perl 6 (et probablement similaire pour de nombreuses langues) (31 octets)
Cela génère un fichier TIFF sans tête, qui était généré par Photoshop avec l’extension de fichier .raw et qui est présumé être carré, sauf indication contraire au moment de l’ouverture. Jouer avec la profondeur de couleur (si autorisée) pourrait la réduire davantage.
la source
ffplay (ffmpeg), 93 octets
Vieux :
la source
Golf'd:
Ungolf'd:
Modifications:
Merci à @flawr pour avoir expliqué comment corriger les couleurs!
\rule{5em}{5em}
▉
, mais ce n’est pas tout à fait pareil.
Pourrait probablement supprimer quelques octets supplémentaires en trouvant des noms de couleurs qui ressemblent de manière acceptable aux couleurs souhaitées.
la source
purple
parfuchsia
etteal
avecaqua
etgreen
avec deslime
choses serait alors correct je pense.{}
. Mais cela violerait trop de principes de codage propres pour ma santé mentale. = PLua + LÖVE / Love2D ,
186183 octetsEssayez-le en ligne!
Ma première entrée de golf de code!
la source
t={[0>1]=0,[0<1]=1}
.MATL,
44 23 21 2019 octetsUn portage direct de ma réponse Octave avec les suggestions de @ExpiredData et @LuisMendo.
essayez-le en ligne
la source
Octave / MATLAB ,
57 5640 octets-17 octets grâce à @ExpiredData! Découvrez leur solution encore plus golfeuse !
Essayez-le en ligne!
la source
Factorio Blueprint String, 705 octets
Je reconnais que je ne fais que repousser les limites de ce qui compte comme solution.
Sortie produite lors de la mise en jeu (paramètres graphiques bas utilisés):
Pour prouver que cette solution est valable, vous devez échantillonner cette grille de pixels qui correspondent exactement à la spécification:
Le reste de l'image est classé comme une bordure ou un espacement qui, comme le dit la question, n'a pas d'importance.
la source
Octave , 38 octets
Essayez-le en ligne!
la source
HTML / CSS,
278141137 octets-137 octets grâce aux commentateurs, notamment @data
-4 octets grâce à @Einacio
Utilise Unicode
█
(U + 2588) pour les "blocs" et utilise les classes CSS / style en ligne pour les colorer.Je pense que les
<font>
tags pourraient être plus joués au golf, mais les changer en un tag plus court, tel que<a>
rompt l'color
attributla source
</td>
, le navigateur est assez intelligent pour ajouter automatiquement cette balise de fermeture<td bgcolor=#f00>
<span style="color:red">█<span class=a>█<span class=b>█<br><span class=a>█<span style="color:#0f0">█<span class=c>█<br><span class=b>█<span class=c>█<span style="color:#00f">█
JavaScript,
108102 octetsPas d'extrait, car cela ne fonctionne que dans une console de navigateur réelle et non dans la console de l'extrait. Edit: Merci à @AJFaraday pour la capture d'écran. Explication: Les navigateurs permettent au premier paramètre d'
console.log
inclure des substitutions. La%c
substitution prend un paramètre et l'applique comme CSS (assaini). Chaque█
bloc est donc coloré en utilisant la sous-chaîne appropriéef0ff00f0
interprétée comme un code de couleur à trois chiffres hexadécimaux.la source
%c
est utilisé pour créer une chaîne de format, les arguments étant des styles CSS pour le texte qui la suitff0ff
contient toutes les couleurs mélangées et00f00
contient toutes les couleurs pures. Si vous les concaténez, vous obtenez des positions en doubleff0
etf00
vous pouvez ensuite supprimer les premier et dernier caractères. J'ai ensuite écrit un court script pour vérifier toutes les chaînes de 7 caractères afin de s'assurer que 8 était optimal.HTML (GIF), 108 octets
C'est la bataille des formats d'image basés sur le Web! (Y at-il des prétendants au TIF ou au JPG?)
Répondre par @AC .
HTML (BMP),
116115 octetsRéponse de @ ASCII uniquement .
HTML (WebP), 116 octets
Réponse de @Hohmannfan .
HTML (PNG),
151136135 octets-15 octets grâce à @Hohmannfan .
Voir aussi mes réponses CSS et SVG .
la source
<img src="data:image/bmp;base64,Qk0+AAAAQVNDTxoAAAAMAAAAAwADAAEAGAD/AP///wD/AAAAAAAA//8A/wD//wAAAAAAAP8A////AP8AAAA=">
. En-tête de fichier de 14 octets, en-tête d’application de 12 octets, 9 données réelles par ligne (+3 pour saturer un multiple de 4), ouais<img src="data:image/gif;base64,R0lGODdhAwADAMIGAAAA//8AAP8A/wD/AAD/////AAAAAAAAACwAAAAAAwADAAADBhglNSQEJAA7">
c'est plus courtiVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZSiLoAAAAFElEQVR4AWP4z8Dw/z8DEIIodB4A4D0O8pOGuTgAAAAASUVORK5CYII=
<img src=data:image/webp;base64,UklGRjYAAABXRUJQVlA4TCoAAAAvAoAAAC8gEEjaH3qN+RcQFPk/2vwHH0QCg0I2kuDYvghLcAoX0f/4Hgc>
dc (sur xterm), 64 octets
Vous aurez juste un tas de codes d'échappement farfelus au lieu de couleurs, mais vous pouvez toujours l' essayer en ligne!
D'après ce que j'ai compris, les 16 couleurs ANSI de base peuvent être interprétées librement, à la demande du terminal. Par ailleurs, les 216 couleurs du cube de couleur xterm ont des valeurs RVB explicites. J'utilise ces codes et j'imprime une grille de
X
s:Nous définissons d’abord la base d’entrée en base 15 avec
Fi
. Cela coûte deux octets, mais en rend trois, donc ... un gain net d'un octet (et une perte de lisibilité importante). Ensuite, nous essayons d’obtenir nos valeurs de couleur sur la pile. En décimal, ce serait21 51 201 51 46 226 201 226 196
, mais nous sommes en mode loufoque donc ça va être16 36 D6 36 31 101 D6 101 D1
. Nous éliminons l'un des espaces en insérant une macro que nous devons définir à un moment donné[AP]sF
(qui affiche simplement un saut de ligne). Nous pouvons réduire36 D6 36
et101 D6 101
en plaçant la première valeur sur la pile, en la dupliquant, en plaçant la seconde, puis en permutant (36dD6r
,101dD6r
).Macro
M
gère l'impression et tout le reste.1CP
affiche le caractère d'échappement. Les crochets sont utilisés pour délimiter des chaînes, et pour autant que je sache, ils ne peuvent pas être échappés. Nous devons donc imprimer le crochet avec une valeur ASCII également61P
.[38;5;]P
est le code 'définir la couleur de premier plan à partir de la liste numérotée'.n
affiche la valeur du haut de la pile avec une nouvelle ligne, en la sautant.[mX]P
termine le code et imprime un 'X'.z3%0=F
vérifie la profondeur de pile mod 3, en exécutant notre macro de saut de ligneF
si nécessaire.z0<M
continue àM
fonctionner tant qu'il y a des choses sur la pile.dsMx
courir.Notez que si vous exécutez ceci en courant continu dans un xterm, votre couleur de premier plan sera bleue.
1CP61P74P
(entrée affichée dans la capture d'écran) devrait réinitialiser cela.la source
Tortue en bloc, 45 blocs
Essayez-le en ligne!
Pourquoi ne pas jouer à un petit jeu pour trouver l'outil le plus ridicule pour le poste?
Sortie:
Le programme (en tant que capture d'écran pour une hérésie supplémentaire):
Remarque: Les blocs grisés sont également comptés dans la métrique.
la source
Node.js, 79 octets
Produit un fichier nommé "P" au format PPM contenant la grille de couleurs.
la source
TI-Basic, x octets (marquera quand je peux)
Remarque: le filtre de contenu m'empêche de rechercher la taille des jetons pour chacune de ces commandes. Si quelqu'un veut marquer pour moi, fonce.
Cela semble vraiment mauvais sur mon petit écran de calculatrice. Mais bon, la forme n'a pas d'importance: ^)
Sortie de golf: Modifiée pour une sortie 8x plus grande:
TI-BASIC, x octets
Utiliser Pxl-On au lieu de Text:
Sortie: gonflée ~ 11x:
la source
TextColor
comme 2 octets, et non 9 comme vous le souhaiteriez. @NatC ++, SFML, 177 octets
Utilise une
sf::Image::create(int,int,unsigned char*)
méthode pour créer une image contenant des valeurs rgbla source
0xFF0000
comme255<<16
.int b=255<<16,g=65280,r=255,d[]={r,g|r,b|r,g|r,g,b|g,b|r,b|g,b};
C #,
248204198 octetsSortie:
la source
BASIC C64, 106 octets
la source
Wolfram Language (Mathematica), 72 octets
la source