Ini! adalah kotak warna RGB ...
Pada dasarnya ini adalah matriks 2 dimensi di mana:
- Baris pertama, dan kolom pertama, berwarna merah.
- Baris kedua, dan kolom kedua, berwarna hijau.
- Baris ketiga, dan kolom ketiga, berwarna biru.
Berikut adalah warna yang dijelaskan secara grafis, menggunakan huruf R, G, dan B.
Berikut cara kami menghitung warna setiap ruang pada kisi yang dihitung.
- Merah + Merah = Merah (# FF0000)
- Hijau + Hijau = Hijau (# 00FF00)
- Biru + Biru = Biru (# 0000FF)
- Merah + Hijau = Kuning (# FFFF00)
- Merah + Biru = Ungu (# FF00FF)
- Hijau + Biru = Teal (# 00FFFF)
Tantangan
- Tulis kode untuk menghasilkan kotak warna RGB.
- Ini kode golf, jadi cobalah melakukannya dalam jumlah byte terkecil.
- Gunakan bahasa pemrograman apa pun atau bahasa markup untuk menghasilkan kisi Anda.
- Hal yang saya pedulikan:
- Hasilnya harus menampilkan grafik RGB grid dengan warna yang ditentukan.
- Hal-hal yang tidak saya pedulikan:
- Jika outputnya berupa gambar, HTML, SVG atau markup lainnya.
- Ukuran atau bentuk blok warna.
- Perbatasan, jarak dll antara atau di sekitar blok.
- Jelas tidak perlu ada label yang memberi tahu Anda apa warna baris dan kolom seharusnya.
code-golf
graphical-output
AJFaraday
sumber
sumber
Bitmap
objek di C #?Jawaban:
Bash, 44
Di sini, blok adalah
.
karakter.^[
adalah karakter pelarian ASCII literal (0x1b).Anda dapat membuat ulang skrip ini sebagai berikut:
sumber
printf ${f=\\e[3%dm.}$f$f\\n 1 3 5 3 2 6 5 6 4
printf \\e[3%dm. 1'
memperluas\\e[31m.
yang merupakan kode pelarian ANSI untuk merah dan seterusnya dan.
merupakan karakter untuk dicetak.printf "${f=^[[3%dm.}$f$f" 1 3 5 3 2 6 5 6 4
(Di mana^[
karakter pelarian literal = 1 byte dan line karakter baris baru literal = 1 byte.)Perakitan 8088, IBM PC DOS,
4443 byteDaftar:
Ini menggunakan
INT 10H
layanan video IBM PC BIOS untuk menulis kotak warna ke layar. Sayangnya satu-satunya cara untuk menulis atribut warna tertentu memerlukan juga menulis kode untuk menempatkan kursor di lokasi yang benar berikutnya, jadi ada banyak kode tambahan untuk itu.Inilah output yang berjalan pada IBM PC CGA (dalam mode teks 40x25 untuk membuatnya lebih besar).
Unduh dan uji RGBGRID.COM untuk DOS.
sumber
Bahasa Wolfram (Mathematica) , 41 byte
Bahasa Wolfram (Mathematica) , 68 byte
Mathematica memiliki bawaan untuk semua warna ini.
sumber
80386 kode mesin, IBM PC DOS, 38 byte
hex:
ASM:
skala hasil dari dosbox:
sumber
mov al, 13h
salah kecuali dijamin oleh DOSBox untuk memilikiah = 0
di titik masuk program.Excel VBA (Jendela Segera), 80 byte
Excel VBA (Fungsi), 96 byte
Bukan alat yang mengerikan untuk pekerjaan itu ... Saya menghargai kenyataan bahwa Excel sudah menunjukkan kisi sehingga masalah pengaturan warna latar belakang.
Kredit ke @Neil untuk menyarankan saya menggunakan
ColorIndex
alih-alihColor
mengarah ke penghematan 43 byte.-21 bytes terima kasih kepada @Keeta
-16 byte terima kasih kepada @Chronocidal untuk menyarankan "Jendela Segera"
-2 byte terima kasih kepada @i_saw_drones
Banyak perubahan dari kiriman asli saya :)
sumber
ColorIndex
karena itu adalah angka dari 3 hingga 8 di sini, yang dapat Anda enkode dalam string atau sesuatu.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 byte
Daftar yang diedit secara manual dalam format .LST. Termasuk banyak karakter yang tidak dapat dicetak, yang kodenya ditampilkan di dalam tanda kurung.
Sistem operasi Atari ST mendefinisikan perintah VT52 yang diperluas yang digunakan di sini.
Keluaran
Outputnya adalah blok24 × 24 piksel (9 karakter spasi 8 × 8 piksel).
tangkapan layar dari Steem SSE
sumber
SVG,
210182 byteKarena ukuran atau bentuk blok warna tidak masalah, beberapa byte dapat di-golf dengan tata letak yang sedikit aneh ini:
sumber
HTML + CSS,
121120 byteSepotong HTML terburuk yang pernah saya tulis. Satu byte simpan berkat @Gust van de Wal
HTML + CSS, 114 byte (semi valid)
Saya menempatkan ini sebagai semi-valid karena biru tidak persis biru # 0000FF dan juga mengandalkan tidak mengklik tautan.
Terima kasih kepada @Lynn untuk idenya
sumber
<w>
,<x>
,<y>
, dan<z>
.<a href=x>█
akan berwarna biru secara default, menghemat beberapa byte dari CSS :)ditaa , 118 byte
Ini adalah opsi keluaran menggunakan
-E
:sumber
R,
895048 byteVersi terbaru:
Tidak cukup elemen dalam vektor untuk mengisi matriks 3x3, sehingga membungkus dan menggunakan kembali elemen pertama.
Versi lama:
sumber
Excel-VBA,
89737270 byteSunting: Anda dapat menggunakan jendela langsung dan membuang
Sub
/End Sub
untuk menyimpan 16 byte:Jawaban asli:
Ini diilhami oleh saran Neil tentang jawaban ini , dan ini adalah pengiriman pertama saya!
Hasil:
-2 byte : Penghapusan nomor baris sel - terima kasih kepada Taylor Scott !
sumber
For i=1To 9:[A:C].Cells(i).Interior.ColorIndex=Mid(367648785,i,1):Next
untuk 70Perl 6 (dan mungkin serupa untuk banyak bahasa) (31 byte)
Ini menghasilkan file TIFF tanpa kepala, yang digunakan untuk dihasilkan oleh Photoshop dengan ekstensi file .raw dan dianggap persegi kecuali ditentukan lain pada saat pembukaan. Bermain-main dengan kedalaman warna (jika diizinkan) dapat mengurangi ini lebih jauh.
sumber
ffplay (ffmpeg), 93 byte
Lama :
sumber
Golf'd:
Ungolf'd:
Edits:
Thanks to @flawr for pointing out how to fix the colors!
Could shave off14bytes by replacing ▉▉▉▉▉▉▉▉▉
\rule{5em}{5em}
with▉
, which'd look like, but just doesn't look quite the same.
Could probably shave off a few more bytes by finding color names that acceptably resemble the intended colors.
Just to show what a decentlyTEX'd version of this would look like:RedGreenBlueRedGreenBlue.
sumber
purple
withfuchsia
andteal
withaqua
andgreen
withlime
then things would be correct I think.{}
's. But that'd violate too many clean coding principles for my sanity. =PLua + LÖVE/Love2D,
186183 bytesTry it online!
My first code golf entry!
sumber
t={[0>1]=0,[0<1]=1}
.MATL,
44 23 21 2019 bytesA direct port of my Octave answer with the suggestions from @ExpiredData and @LuisMendo.
try it online
sumber
Octave/MATLAB,
57 5640 bytes-17 byte thanks to @ExpiredData! Check out their even golfier solution!
Try it online!
sumber
Factorio Blueprint String, 705 bytes
I admit, I'm just pushing the limits of what counts as a solution.
Produced output when placed in-game (low graphics settings used):
To prove that it is a valid solution you need to sample this grid of pixels which do match the specification exactly:
The rest of the image is classified as a border or a spacing which, as said in the question, doesn't matter.
sumber
Octave, 38 bytes
Try it online!
sumber
HTML/CSS,
278141137 bytes-137 bytes thanks to commenters, most notably @data
-4 bytes thanks to @Einacio
Uses Unicode
█
(U+2588) for the "blocks", and uses CSS classes/inline style to color them.I think the
<font>
tags could be golfed more, however changing them to a shorter tag such as<a>
breaks thecolor
attributesumber
</td>
, the browser is smart enough to automatically add this closing tag<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 bytesNo snippet because this only works in a real browser console and not the snippet's console. Edit: Thanks to @AJFaraday for the screenshot. Explanation: Browsers allow the first parameter of
console.log
to include substitutions. The%c
substitution takes a parameter and applies it as (sanitised) CSS. Each█
block is therefore coloured using the appropriate substring off0ff00f0
interpreted as a three-hex-digit colour code.sumber
%c
is used to create a format string, the arguments being CSS styles for the text after itff0ff
contains all the mixed colours and00f00
contains all the pure colours. If you concatenate them you get duplicate positions forff0
andf00
so you can then remove the first and last characters. I then wrote a short script to check all 7-character strings to ensure that 8 was optimal.HTML (GIF), 108 bytes
It's the battle of the web-based image formats! (Any TIF or JPG contenders out there?)
Answer by @A C.
HTML (BMP),
116115 bytesAnswer by @ASCII-only.
HTML (WebP), 116 bytes
Answer by @Hohmannfan.
HTML (PNG),
151136135 bytes-15 bytes thanks to @Hohmannfan.
Also, see my CSS and SVG answers.
sumber
<img src="data:image/bmp;base64,Qk0+AAAAQVNDTxoAAAAMAAAAAwADAAEAGAD/AP///wD/AAAAAAAA//8A/wD//wAAAAAAAP8A////AP8AAAA=">
. 14 byte file header, 12 byte application header, 9 of actual data per row (+3 to pad to multiple of 4), yeah<img src="data:image/gif;base64,R0lGODdhAwADAMIGAAAA//8AAP8A/wD/AAD/////AAAAAAAAACwAAAAAAwADAAADBhglNSQEJAA7">
is shorteriVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZSiLoAAAAFElEQVR4AWP4z8Dw/z8DEIIodB4A4D0O8pOGuTgAAAAASUVORK5CYII=
<img src=data:image/webp;base64,UklGRjYAAABXRUJQVlA4TCoAAAAvAoAAAC8gEEjaH3qN+RcQFPk/2vwHH0QCg0I2kuDYvghLcAoX0f/4Hgc>
dc (on xterm), 64 bytes
You'll just get a bunch of wacky escape codes instead of colors, but you can still try it online!
By my understanding, the 16 basic ANSI colors are free to be interpreted however the terminal wants. On the other hand, the 216 colors in the xterm color cube have explicit RGB values. I am using these codes and printing a grid of
X
s:First we set the input radix to base 15 with
Fi
. This costs two bytes, but gives back three, so... a net gain of a byte (and a big ol' loss in readability). Next we're trying to get our color values onto the stack. In decimal, this would be21 51 201 51 46 226 201 226 196
, but we're in wacky mode so it's going to be16 36 D6 36 31 101 D6 101 D1
. We eliminate one of the spaces by slotting in a macro we need to define at some point,[AP]sF
(which simply prints a line feed). We can shrink36 D6 36
and101 D6 101
by placing the first value on the stack, duplicating it, placing the second, and then swapping (36dD6r
,101dD6r
).Macro
M
handles the printing and whatnot.1CP
prints the escape character. Brackets are used to delimit strings, and as far as I know are not escapable, so we need to print the bracket with an ASCII value as well,61P
.[38;5;]P
is the 'set foreground color from the numbered list' code.n
prints the value from the top of the stack w/o a newline, popping it.[mX]P
ends the code and prints an 'X'.z3%0=F
checks the stack depth mod 3, running our line feed macroF
when necessary.z0<M
keepsM
running as long as there's stuff on the stack.dsMx
to run.Note that if you run this in dc in an xterm, it'll leave your foreground color blue.
1CP61P74P
(input shown in the screenshot) should reset this.sumber
Blockly turtle, 45 blocks
Try it online!
How about we play a little game of finding the most ridiculous tool for the job?
Output:
The program (as a screenshot for additional heresy):
Note: The grayed out blocks are also counted towards the metric.
sumber
Node.js, 79 bytes
Produces a file named "P" in the PPM format containing the color grid.
sumber
TI-Basic, x bytes (will score when I can)
Note: content filter is blocking me from looking up the token sizes for each of these commands. If anyone wants to score for me, go for it.
This look really bad on my little calculator screen. But hey, shape doesn't matter :^)
Golf output:
Modified for 8x larger output:
TI-BASIC, x bytes
Using Pxl-On instead of Text:
Output:
Blown up ~11x:
sumber
TextColor
as 2 bytes, not 9 as you would expect @NatC++, SFML, 177 bytes
Uses
sf::Image::create(int,int,unsigned char*)
method to create an image with rgb values in itsumber
0xFF0000
as255<<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 bytesOutput:
sumber
BASIC C64, 106 bytes
sumber
Wolfram Language (Mathematica), 72 bytes
sumber