生成RGB彩色网格


47

这个!是RGB颜色网格...

基本的RGB网格

基本上,它是一个二维矩阵,其中:

  • 第一行和第一列为红色。
  • 第二行和第二列为绿色。
  • 第三行和第三列为蓝色。

以下是使用字母R,G和B以图形方式描述的颜色。

行和列图

这是我们计算网格上每个空间的颜色的方法。

  • 红色+红色=红色(#FF0000)
  • 绿色+绿色=绿色(#00FF00)
  • 蓝色+蓝色=蓝色(#0000FF)
  • 红色+绿色=黄色(#FFFF00)
  • 红色+蓝色=紫色(#FF00FF)
  • 绿色+蓝色=蓝绿色(#00FFFF)

挑战

  • 编写代码以生成RGB彩色网格。
  • 这是代码高尔夫球,因此请尝试以最少的字节数进行操作。
  • 使用任何编程语言或标记语言来生成网格。
  • 我关心的事情:
    • 结果应以图形方式显示具有定义颜色的RGB网格。
  • 我不在乎的事情:
    • 如果输出是图像,HTML,SVG或其他标记。
    • 色块的大小或形状。
    • 块之间或周围的边界,间距等。
    • 绝对不需要标签告诉您行和列的颜色是什么。

2
我们可以输出我们语言固有的法师对象,例如BitmapC#中的对象吗?
无知的体现

1
@EmbodimentofIgnorance在我看来还不错。
AJFaraday

11
我在等待Piet
manassehkatz

4
@manassehkatz硬编码数据比执行数据好吗?
AJFaraday

3
并不是真的很重要,但是我个人会使用青色洋红色而不是蓝绿色紫色(或其他颜色)。据我所知,这些是用于印刷或减色模型(例如CMYK)的正式术语。
Arnauld

Answers:


34

Bash,44岁

  • @NahuelFouilleul节省了2个字节
  • @manatwork节省了2个字节
printf "${f=^[[3%dm.}$f$f
" 1 3 5 3 2 6 5 6 4

在这里,块是.字符。 ^[是文字ASCII转义字符(0x1b)。

在此处输入图片说明

您可以按以下方式重新创建此脚本:

base64 -d <<< cHJpbnRmICIke2Y9G1szJWRtLn0kZiRmCiIgMSAzIDUgMyAyIDYgNSA2IDQ= > rgbgrid.sh

11
有没有搞错?请解释:)
瑕疵

1
可以使用shell扩展节省2个字节printf ${f=\\e[3%dm.}$f$f\\n 1 3 5 3 2 6 5 6 4
Nahuel Fouilleul

1
这真是让我感到高兴,谢谢!
AJFaraday

4
printf \\e[3%dm. 1'扩展\\e[31m.红色的ANSI转义代码,以此类推,并且.是要打印的字符。
Fredrik Pihl,

3
继续@NahuelFouilleul的建议,将其双引号:(printf "${f=^[[3%dm.}$f$f␤" 1 3 5 3 2 6 5 6 4其中,^[原义转义字符= 1个字节,而␤实义新行字符= 1个字节。)
manatwork

26

8088组件,IBM PC DOS,  44  43字节

清单:

BE 0122     MOV  SI, OFFSET CTBL    ; load color bar table into [SI]
        LOOP_COLOR: 
B9 0001     MOV  CX, 1              ; display 1 char and clear CH (changed by INT 10H:3)
AC          LODSB                   ; load next color byte 
8A D8       MOV  BL, AL             ; move new color to BL
3C 10       CMP  AL, 010H           ; if this is third color in row: SF=0, CF=0 
                                    ; else if last color: SF=1, CF=0
                                    ; else continue on same row: CF=1
B8 09DB     MOV  AX, 09DBH          ; AH=9 (write char with attr), AL=0DBH (a block char) 
CD 10       INT  10H                ; call PC BIOS, display color block
B4 03       MOV  AH, 3              ; get cursor position function
CD 10       INT  10H                ; call PC BIOS, get cursor
72 04       JC   NEXT_COL           ; if not last in row, move to next column 
78 09       JS   EXIT               ; if last color, exit 
B2 FF       MOV  DL, -1             ; otherwise move to first column and next row 
        NEXT_COL:
42          INC  DX                 ; move to next column (and/or row)
B4 02       MOV  AH, 2              ; set cursor position function 
CD 10       INT  10H                ; call PC BIOS, set cursor position
EB E2       JMP  LOOP_COLOR         ; loop to next color byte 
        EXIT:
C3          RET                     ; return to DOS
CTBL    DB  0CH, 0EH, 1DH, 0EH, 0AH, 1BH, 0DH, 0BH, 91H ; color table

这使用IBM PC BIOS INT 10H视频服务将颜色网格写入屏幕。不幸的是,编写特定颜色属性的唯一方法还需要编写代码,以将光标放置在下一个正确的位置,因此有很多额外的代码。

这是在IBM PC CGA上运行的输出(以40x25文本模式放大)。

在此处输入图片说明

下载并测试DOS的RGBGRID.COM


1
这项工作会按dos进行吗,婴儿床不会,但如果这样做会很酷。
元帅工艺

@marshalcraft是的,实际上,这仅在DOS或使用DOS仿真器(例如DOSBox,pcjs.org等)下才有效。我添加了下载可执行文件的链接,因此您可以尝试一下。
640KB

Windows带有有限的dos模拟器,现在可能称为命令提示符,我应该应该说,如果与cmd或PowerShell haha​​一起使用,它会很棒。
元帅工艺

1
@marshalcraft是的,但是由于它是针对DOS的,所以它是16位可执行文件,并且如果您具有32位版本的Windows,则它应该实际运行,因为它具有16位运行时环境。但是,64位版本的Windows将无法运行,因为它只有32位运行时。
640KB

1
上帝,这是一个很酷的答案
Samy Bencherif


18

80386机器代码,IBM PC DOS,38字节

十六进制:

B0 13 CD 10 68 00 A0 1F 66 C7 06 00 00 28 2C 24
00 66 C7 06 40 01 2C 30 34 00 66 C7 06 80 02 24
34 20 00 CD 16 C3

asm:

mov al,13h
int 10h ; initialize vga 13h mode (320x200x256 colors)
push 0a000h
pop ds ; push video buffer address to ds
mov dword ptr ds:0, 242c28h ; print 3 pixels
mov dword ptr ds:320, 34302ch ; print 3 pixels
mov dword ptr ds:640, 203424h ; print 3 pixels
int 16h ; wait for any keypress
ret ; exit to os

Dosbox的缩放输出:

在此处输入图片说明


请注意,mov al, 13h除非DOSBox保证它ah = 0在程序入口点具有,否则这是不正确的。
玛格丽特·布鲁姆

@MargaretBloom 斧头是0在COM应用程序的启动在MS-DOS
伊利亚Bursov

谢谢Iłya,很高兴知道!
玛格丽特·布鲁姆

18

Excel VBA(立即窗口),80字节

For i=1To 9:Cells(i Mod 3+1,(i+1)/3).Interior.ColorIndex=Mid(673486857,i,1):Next

Excel VBA(功能),96位元组

Sub g()
For i=1To 9
Cells(i Mod 3+1,(i+1)/3).Interior.ColorIndex=Mid(673486857,i,1)
Next
End Sub

这不是一个可怕的工具...我很欣赏Excel已经显示网格的事实,因此只需设置背景颜色即可。

Excel颜色网格

感谢@Neil建议我使用它ColorIndex而不是Color节省43个字节。

-21个字节,感谢@Keeta

-16个字节,感谢@Chronocidal提出“立即窗口”的建议

-2个字节,感谢@i_saw_drones

与我最初提交的内容相比有很多变化:)


1
您可能会做得更好,ColorIndex因为这里的数字是3到8,您可以将其编码为字符串或其他形式。
尼尔

@Neil-的确:)我能够使用它使它变得更短一些。谢谢你的提示。
dana

我没有看到任何阻止您将其更改为Sub F()和End Sub以获得更多节省的功能。
Keeta

1
不要将其设为函数,而是在“立即窗口”中运行以删除21个字节:for i=1 To 3:for j=1 To 3:Cells(i,j).Interior.ColorIndex=Mid("367408005",i*j,1):next j,i
慢性

1
您也可以从字符串中删除引号,VBA会自动将数字强制为字符串。
i_saw_drones

16

GFA Basic 2.02(Atari ST),48个字节

.LST格式的手动编辑列表。包括许多不可打印的字符,其代码显示在方括号中。

?"[ESC]c[SOH] [ESC]c[ETX] [ESC]c[ENQ] "[CR]
?"[ESC]c[ETX] [ESC]c[STX] [ESC]c[ACK] "[CR]
?"[ESC]c[ENQ] [ESC]c[ACK] [ESC]c[EOT] "[CR]

Atari ST的操作系统定义了此处使用的扩展VT52命令

输出量

24×248×8

输出

Steem SSE的屏幕截图


+1让我都怀念可信赖的旧ST。
Wossname

16

SVG,210个 182字节

<svg><path d="h3v3h-3" fill=#f0f/><path d="h2v2h-2" fill=#ff0/><path d="m1 1h2v2h-2" fill=#0ff/><line x2=1 stroke=red/><path d="m1 1h1v1h-1" fill=#0f0/><path d="m2 2h1v1" fill=#00f/>

由于色块的大小或形状无关紧要,因此可以使用这种稍微奇怪的布局来打入相当多的字节:

svg布局


我真的很喜欢这种解决方案的独创性。
AJFaraday

16

HTML + CSS,121120字节

我写过的最糟糕的HTML。@Gust van de Wal节省了一个字节

b{color:#ff0}a{color:cyan}i{color:lime}u{color:blue
<pre><body bgcolor=#f0f text=red><b>█
█<i><a>█
 █<u>

HTML + CSS,114字节(半有效)

我将其设置为半有效,因为蓝色并不完全是#0000FF蓝色,并且还依赖于未单击链接。

感谢@Lynn的想法

b{color:#ff0}i{color:lime}c{color:cyan
<pre><body bgcolor=#f0f text=red><b>█
█<i><c>█
 █<a href=x>


3
您可以省略CSS中的最后一个右括号。此外,令人难以置信的(令人作呕的)工作!
Gust van de Wal

3
您可以更改标签的名字来避免默认的CSS格式,例如<w><x><y>,和<z>
darrylyeo

1
<a href=x>█默认情况下将为蓝色,为您节省一些CSS字节:)
Lynn

15

ditaa,118个字节

/----+----+----\
|cF00|cFF0|cF0F|
+----+----+----+
|cFF0|c0F0|c0FF|
+----+----+----+
|cF0F|c0FF|c00F|
\----+----+----/

这是使用-E选项的输出:

在此处输入图片说明


13

R,89 50 48字节

最新版本:

image(matrix(c(6,4,5,2:4,1,2),3),col=rainbow(6))

向量中没有足够的元素来填充3x3矩阵,因此它会环绕并重用第一个元素。

旧版本:

image(matrix(c(6,4,5,2:4,1,2,6),3),col=rainbow(6))

image(matrix(c(3,5,6,2,4,5,1:3),3),col=c('red','yellow','magenta','green','cyan','blue'))

在此处输入图片说明


3
欢迎来到PPCG!
无知的体现

1
哇,是彩虹六号
永泉

@alephalpha Yikes,我简直不敢错过。我继续并修复了最旧的版本和字符数
anjama

12

Excel-VBA,89 73 72 70字节

编辑:您可以使用立即窗口并省去Sub/ End Sub来保存16个字节:

For i=1To 9:[A:C].Cells(i).Interior.ColorIndex=Mid(367648785,i,1):Next

原始答案:

Sub a()
For i=1To 9
[A1:C3].Cells(i).Interior.ColorIndex=Mid(367648785,i,1)
Next
End Sub

这是受到尼尔答案上的建议的启发,也是我的第一篇论文!

结果:

结果网格

-2个字节:删除单元格行号-感谢Taylor Scott


3
欢迎来到PPCG!
Johan du Toit

1
谢谢!希望我能从大师那里学到一些技巧:)
i_saw_drones

For i=1To 9:[A:C].Cells(i).Interior.ColorIndex=Mid(367648785,i,1):Next70
泰勒·斯科特

11

Perl 6(对于许多语言可能也类似)(31字节)

{'ÿ   ÿÿÿ ÿ ÿÿ  ÿ ÿÿÿ ÿ ÿÿ  ÿ'}   # replace spaces with ASCII 00
                                  # which I can't seem to enter

这将输出一个无头TIFF文件,该文件曾经由Photoshop生成,文件扩展名为.raw,除非打开时另有说明,否则假定为正方形。尝试使用颜色深度(如果允许)可以进一步减小这种颜色。


11

ffplay(ffmpeg),93个字节

ffplay -f rawvideo -s 3x3 -pix_fmt rgb24 "data:/;base64,/wAA//8A/wD///8AAP8AAP///wD/AP//AAD/"

旧的

ffplay -f lavfi -i testsrc=s=3x3,geq=r=255*not(X*Y):g=255*not((X-1)*(Y-1)):b=255*not((X-2)*(Y-2))

10

TEX(MathJax), 122bytes

高尔夫:

$\def\c#1{\color{#1}{\rule{5em}{5em}}}\c{red}\c{yellow}\c{fuchsia}\\\c{yellow}\c{lime}\c{aqua}\\\c{fuchsia}\c{aqua}\c{blue}$

取消高尔夫:

$$
\def\coloredBox#1{\color{#1}{\rule{5em}{5em}}}
\coloredBox{red}
\coloredBox{yellow}
\coloredBox{fuchsia} \\
\coloredBox{yellow}
\coloredBox{lime}
\coloredBox{aqua}    \\
\coloredBox{fuchsia}
\coloredBox{aqua}
\coloredBox{blue}
$$

编辑:

  1. 感谢@flawr指出如何固定颜色!

  2. 14bytes\rule{5em}{5em}

    ,但看起来并不完全一样。

  3. 通过找到可以接受的与预期颜色相似的颜色名称,可以减少更多的字节。

  4. TEX'd

    RedGreenBlueRedGreenBlue.


1
我认为您的颜色不正确。但除此之外,我想如果给予好评您的文章仅标题:)
flawr

TEX

1
似乎mathjax使用css颜色名称。所以,你可以替换purple使用fuchsia,并teal具有aquagreenlime那事情会是正确的,我认为。
瑕疵

只是要注意:删除一些可能会使上面的内容更多{}。但是出于我的理智,这违反了太多干净的编码原则。= P
纳特

5
请注意,PPCG社区从未因其理智而闻名。如果有什么可能缺少它。
瑕疵

10

LUA + LÖVE/ Love2D186个 183字节

t={[0>1]=0,[0<1]=1}l=love g=l.graphics function l.draw()for i=1,3 do for j=1,3 do g.setColor(t[i<2 or j<2],t[i==2 or j==2],t[i>2 or j>2])g.rectangle('fill',j*10,i*10,10,10)end end end

在线尝试!

在此处输入图片说明

我的第一个代码高尔夫入门!


1
欢迎来到Code Golf!干得好!
AJFaraday

1
我认为您可以在真值表中使用表达式:t={[0>1]=0,[0<1]=1}
manatwork

1
@manatwork聪明!
Sheepolution

另一个爱人,很高兴在这里见到您
吕塞

10

MATL,44 23 21 20 19字节

我的Octave答案的直接端口,带有@ExpiredData和@LuisMendo的建议。

126973007Bo7B3*e0YG

在线尝试


9

八度/ MATLAB57 56 40字节

-17字节感谢@ExpiredData!看看他们的高尔夫解决方案

image(reshape(de2bi(126973007),[3,3,3]))

在线尝试!


1
只是图像可以代替imshow起作用吗?不再有Matlab许可证,我正在电话上,无法对其进行测试
过期的数据

2
@ExpiredData非常感谢,确实可以!
瑕疵

2
您可能也可以这样做。在线尝试!
过期的数据

1
@ExpiredData ---非常棒的技巧,非常感谢!:)---为什么您不将此作为自己的答案发布?
瑕疵

3
好的,我会这样做
过期的数据

9

Factorio蓝图字符串,705个字节

我承认,我只是在限制解决方案的极限。

0eNrdWNGOqyAQ/ReedeNo0daH/ZHNTYOW7ZJFNAi91zT99wua7ZpdaaT1pb40oQ6HOecwA3pGBde0kUwolJ8RK2vRovztjFp2FITb/1TXUJQjpmiFAiRIZUdtzYkMGyIoR5cAMXGg/1AOlz8BokIxxegA0w+6vdBVQaUJuAKQstSV5kTV0qA2dWvm1MKuZ3FecIA6lIf4BV8uwS+YeDKPXzBhPKAkUxjJPAy4AbG5QljZFBEqLOuqYGKa1Vc6YAQzE5Ss+b6gH+TETLQJeWdcUemQ/8Sk0oSPHOgjQkkPqMfT1kEYWzEsI2hpc2gtFtgfO2NkDTMjbIKnCOLv1SrCechJ1UzwSm7zKpksNVN78+xwnffOZKv2s2kS0akPJo4D10FslEd2UDVE9oLn6NU+1i01S/HaKqmkpvNl2DhkSGfJEK1Eha1DhWyWCmvZCzuHCtu7aj5asuQ7ynn99/GqT0f07BjAwXnnx3kohEW7XMPE5+OEs5+EUwdhiL4T0IVh3LNzHlMwfUoB+LTPeK19A2LPkoGbety1f46SUvH4BoLExTHxOCKe3mmIXTJ43ogGp5MlnS47soTR+GeryFyUscex+PzOu65IkPr0OrzW2wFkHn0Ar3c3eN6S4pt63NUH7GvtAn3AafTOo+yf3+jhbDcv9/1XgHz00SBAJ+NNn3uWRJDiDcDWXIf+Aya7oEk=

放置在游戏中时产生的输出(使用低图形设置):

在此处输入图片说明

为了证明这是一个有效的解决方案,您需要对确实符合规格的像素网格进行采样:

在此处输入图片说明

图像的其余部分归类为边界或间距,就像问题中所说的一样。



8

HTML / CSS,278个 141 137字节

r{color:red}y{color:#ff0}m{color:#f0f}g{color:#0f0}c{color:#0ff}l{color:#00f
<pre><r><y><m><y><g><c><m><c><l>

-137字节感谢评论者,最值得注意的是@data
-4字节感谢@Einacio

对“块” 使用Unicode (U + 2588),并使用CSS类/内联样式为它们着色。

我认为<font>标签可以打得更多,但是将它们更改为较短的标签,例如<a>会破坏color属性


1
</td>
不用说

3
如果使用已弃用的元素,则还可以使用<td bgcolor=#f00>
Ferrybig

2
也许是一个菜鸟问题,但是您是否能避免使用表格并只打印█并使用<br>换行?
frarugi87

1
@ frarugi87是-总共235个:<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">█
仅ASCII的

1
@仅ASCII的b {color:#ff0} u {color:#f0f} i {color:#0ff} <pre> <font color = red>█<b>█<u>█<b>█<font color =石灰>█的<i>█<U>█的<i>█<字体颜色=蓝色>█
数据

7

JavaScript,108102字节

console.log(`%c█%c█%c█
`.repeat(3),...[...`320251014`].map(c=>`color:#`+`f0ff00f0`.substr(c,3)))

无代码段,因为这仅在实际的浏览器控制台中有效,而在代码段的控制台中无效。编辑:感谢@AJFaraday的屏幕截图。说明:浏览器允许of的第一个参数console.log包含替换。该%c替代需要一个参数,并将其应用于为(消毒)CSS。因此,每个块都使用f0ff00f0解释为三进制十六进制颜色代码的适当子字符串进行着色。

代码执行示例


1
我不知道这是如何工作的?
元帅工艺

1
@marshalcraft %c用于创建格式字符串,参数是其后文本的CSS样式
仅ASCII格式的

1
因此,这基本上类似于dos版本,但带有chrome浏览器?
元帅工艺

1
只是好奇,但您如何找到最短的fs / 0s链来使用?
玛丽

2
@Marie首先,我注意到其中ff0ff包含所有混合色并00f00包含所有纯色。如果将它们串联在一起,则会得到重复的位置ff0f00因此可以删除第一个和最后一个字符。然后,我编写了一个简短的脚本来检查所有7个字符的字符串,以确保8个最优。
尼尔

7

HTML(GIF),108个字节

这是基于Web的图像格式的战斗!(那里有TIF或JPG竞争者吗?)

@AC回答。

<img src=data:image/gif;base64,R0lGODdhAwADAMIGAAAA//8AAP8A/wD/AAD/////AAAAAAAAACwAAAAAAwADAAADBhglNSQEJAA7>


HTML(BMP),116115字节

通过@ ASCII-only回答。

<img src=data:image/bmp;base64,Qk0+AAAAQVNDTxoAAAAMAAAAAwADAAEAGAD/AP///wD/AAAAAAAA//8A/wD//wAAAAAAAP8A////AP8AAAA>


HTML(WebP),116个字节

@Hohmannfan回答。

<img src=data:image/webp;base64,UklGRjYAAABXRUJQVlA4TCoAAAAvAoAAAC8gEEjaH3qN+RcQFPk/2vwHH0QCg0I2kuDYvghLcAoX0f/4Hgc>


HTML(PNG),151个 136 135字节

-15个字节,感谢@Hohmannfan

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZSiLoAAAAFElEQVR4AWP4z8Dw/z8DEIIodB4A4D0O8pOGuTgAAAAASUVORK5CYII>


另外,请参阅我的CSSSVG答案。


3
好主意,但是..在我看来,一个9像素图像的89字节文件有点太多。也许手动编写BMP标头可以解决这个问题。如果我没记错的话,最起码的最小标头是26个字节,再加上12个实际数据(3行4像素)可以将图像缩小到38个字节,这在base64中表示51或52个字符而不是119个字符
frarugi87

2
118 :<img src="data:image/bmp;base64,Qk0+AAAAQVNDTxoAAAAMAAAAAwADAAEAGAD/AP///wD/AAAAAAAA//8A/wD//wAAAAAAAP8A////AP8AAAA=">。14字节的文件标头,12字节的应用程序标头,每行9个实际数据(+3填充为4的倍数),是的
仅ASCII的

2
我还没有数,但我怀疑那<img src="data:image/gif;base64,R0lGODdhAwADAMIGAAAA//8AAP8A/wD/AAD/////AAAAAAAAACwAAAAAAwADAAADBhglNSQEJAA7">会更短
AC

2
这是一个以base64编码时会减小15字节的png文件:iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZSiLoAAAAFElEQVR4AWP4z8Dw/z8DEIIodB4A4D0O8pOGuTgAAAAASUVORK5CYII=
Hohmannfan

2
为了继续进行格式之争,这是一种无损WebP解决方案。我不能在不违反规范的情况下将其缩减,因此它被116字节的BMP击败。<img src=data:image/webp;base64,UklGRjYAAABXRUJQVlA4TCoAAAAvAoAAAC8gEEjaH3qN+RcQFPk/2vwHH0QCg0I2kuDYvghLcAoX0f/4Hgc>
Hohmannfan

6

dc(在xterm上),64位元组

Fi16[AP]sF36dD6r31 101dD6rD1[1CP61P[38;5;]Pn[mX]Pz3%0=Fz0<M]dsMx

您将得到一堆古怪的转义代码,而不是颜色,但是您仍然可以在线尝试!

据我了解,终端希望自由解释16种基本ANSI颜色。另一方面,xterm颜色立方体中的216种颜色具有显式的RGB值。我正在使用这些代码并打印Xs 的网格:

邦卡多彩'x's

首先,我们将输入基数设置为以15为底Fi。这花费了两个字节,但又送回了三个字节,因此...净增加了一个字节(并且可读性大大降低)。接下来,我们尝试将颜色值放入堆栈。以十进制表示,这将是21 51 201 51 46 226 201 226 196,但是我们处于古怪的模式,因此它将变为16 36 D6 36 31 101 D6 101 D1。我们通过在某个点插入需要定义的宏来消除其中一个空格[AP]sF(只需打印换行符)。我们可以收缩36 D6 36101 D6 101通过将所述第一值在堆栈上,复制它,将第二,然后交换(36dD6r101dD6r)。

M处理打印等。1CP打印转义字符。方括号用于分隔字符串,据我所知,方括号不能转义,因此我们也需要使用ASCII值打印方括号61P[38;5;]P是“从编号列表中设置前景色”代码。n从带有换行符的堆栈顶部打印该值,然后将其弹出。[mX]P结束代码并显示“ X”。z3%0=F检查堆栈深度模块3,F必要时运行换行宏。只要堆栈中有东西,它就会z0<M一直M运行。dsMx跑步。

请注意,如果您在xterm中在dc中运行此命令,它将使前景色变为蓝色。1CP61P74P(屏幕截图中显示的输入)应将其重置。


6

块龟,45块

在线尝试!

为找到最荒谬的工作工具玩些小游戏怎么样?

输出:

这个糟糕的编程片段的辉煌输出

该程序(作为其他异端的屏幕截图):

该程序作为其他异端的屏幕截图

注意:变灰的块也计入指标。


1
我希望这成为PCG的标准挑战!取而代之的是,它自然发生在某些代码难题上
AJFaraday

5

Node.js,79个字节

require('fs').writeFile(a='P',a+[...'3331100110101110010011101011001'].join` `)

产生包含颜色网格的PPM格式的名为“ P”的文件。


5

TI-Basic,x字节(我可以的话会得分)

注意:内容过滤器阻止我查找这些命令中每个命令的令牌大小。如果有人想为我得分,那就去吧。

TextColor(11
Text(0,0,"0"
TextColor(19
Text(0,2,"0"
Text(2,0,"0"
TextColor(13
Text(4,0,"0"
Text(0,4,"0"
TextColor(14
Text(2,2,"0"
TextColor(18
Text(2,4,"0"
Text(4,2,"0"
TextColor(17
Text(4,4,"0"

在我的小计算器屏幕上,这看起来真的很糟糕。但是,形状并不重要:^)

高尔夫球输出: 修改为大8倍的输出:

在此处输入图片说明



在此处输入图片说明



TI-BASIC,x字节

使用Pxl-On代替Text:

Pxl-On(0,0,11
Pxl-On(0,1,19
Pxl-On(0,2,13
Pxl-On(1,0,19
Pxl-On(1,1,14
Pxl-On(1,2,18
Pxl-On(2,0,13
Pxl-On(2,1,18
Pxl-On(2,2,17

输出: 炸毁〜11倍:

在此处输入图片说明



在此处输入图片说明


它是180个字符,不包括换行符。我不确定代码高尔夫中如何计算换行符。
纳特

4
是的,但是TI-BASIC是一种标记化语言-例如,解释器将其TextColor视为2个字节,而不是您期望的9个字节@Nat
Benjamin Urquhart

4

C ++,SFML,177字节

#include<SFML/Graphics.hpp>
int d[]={255,65535,0xFF00FF,65535,65280,0xFFFF00,0xFF00FF,0xFFFF00,0xFF0000};void f(){sf::Image g;g.create(3,3,(sf::Uint8*)d);g.saveToFile("a.jpg");}

使用sf::Image::create(int,int,unsigned char*)方法创建包含rgb值的图像


您可以通过写0xFF0000为来删除一个字节255<<16
Broxzier

1
更进一步,可以通过在数组之前的变量中定义R / G / B颜色值来节省13个字节:int b=255<<16,g=65280,r=255,d[]={r,g|r,b|r,g|r,g,b|g,b|r,b|g,b};
Broxzier

4

C#,248个 204 198字节

class P{static void Main(){for(int i=0;i<12;i++){foreach(dynamic n in Enum.GetValues(typeof(ConsoleColor)))if((""+n)[0]=="RYMRYGCRMCBR"[i])Console.BackgroundColor=n;Console.Write(i%4<3?" ":"\n");}}}

输出:
在此处输入图片说明


4

BASIC C64,106个字节

0 POKE53281,0
1 DATA144,28,158,156,144,13,158,30,159,144,13,156,159,31,144
2 READA:PRINTCHR$(A)+"o";:GOTO2

在此处输入图片说明


3

Wolfram语言(Mathematica),72个字节

Grid@Partition[RGBColor/@Unitize[Total/@Tuples[IdentityMatrix@3,{2}]],3]

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.