RGB 컬러 그리드 생성


47

이! RGB 컬러 그리드입니다 ...

기본 RGB 그리드

기본적으로 2 차원 행렬입니다.

  • 첫 번째 행과 첫 번째 열은 빨간색입니다.
  • 두 번째 행과 두 번째 열은 녹색입니다.
  • 세 번째 행과 세 번째 열은 파란색입니다.

다음은 문자 R, G 및 B를 사용하여 그래픽으로 설명 된 색상입니다.

행 및 열 다이어그램

그리드에서 각 공간의 색상을 계산하는 방법은 다음과 같습니다.

  • 빨강 + 빨강 = 빨강 (# FF0000)
  • 녹색 + 녹색 = 녹색 (# 00FF00)
  • 파랑 + 파랑 = 파랑 (# 0000FF)
  • 빨강 + 녹색 = 노랑 (# FFFF00)
  • 빨강 + 파랑 = 자주색 (# FF00FF)
  • 녹색 + 파랑 = 청록색 (# 00FFFF)

도전

  • RGB 색상 표를 생성하는 코드를 작성하십시오.
  • 코드 골프이므로 가장 작은 바이트 수로 시도하십시오.
  • 그리드를 생성하려면 프로그래밍 언어 또는 마크 업 언어를 사용하십시오.
  • 내가 신경 쓰는 것들 :
    • 결과는 정의 된 색상의 RGB 그리드를 그래픽으로 표시해야합니다.
  • 내가 신경 쓰지 않는 것 :
    • 출력이 이미지, HTML, SVG 또는 기타 마크 업인 경우
    • 컬러 블록의 크기 또는 모양.
    • 블록 사이 또는 주변의 경계, 간격 등
    • 행과 열 색상이 무엇인지 알려주는 레이블이 없어도됩니다.

2
언어에 고유 한 마법사 객체 (예 : BitmapC # 의 객체)를 출력 할 수 있습니까 ?
무지의 실시

1
@ 무지의 구현은 나에게 잘 들린다.
AJFaraday


4
@manassehkatz 데이터를 하드 코딩하는 것이 데이터를 실행하는 것보다 더 나은 방법 일 수 있습니까?
AJFaraday

3
실제로 중요하지는 않지만 개인적 으로 청록색자주색 (또는 다른 것) 대신 청록색자홍색을 사용했습니다 . 내가 아는 한, 이들은 CMYK 와 같은 인쇄 또는 빼기 컬러 모델에 사용되는 공식 용어 입니다 .
Arnauld

답변:


34

배쉬, 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
이런 젠장? 설명하십시오 :)
flawr

1
쉘 확장을 사용하여 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
이 작업을 수행합니까, prib은 아니지만 멋질 것입니다.
마샬 크래프트

@marshalcraft 예, 사실 이것은 DOS에서만 작동하거나 DOSBox, pcjs.org 등과 같은 DOS 에뮬레이터를 사용합니다. 실행 파일을 다운로드하는 링크를 추가하여 사용해 볼 수 있습니다.
640KB

Windows에는 제한된 명령 에뮬레이터가 있으며 아마도 명령 프롬프트라고 할 수 있습니다. 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가 가지고 도스 박스에 의해 보장되지 않는 잘못된 ah = 0프로그램의 엔트리 포인트에.
마가렛 블룸

@ MargaretBloom 도끼는 ms dos에서 COM 응용 프로그램 시작시 0입니다
Iłya 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에 이미 그리드가 표시되어 배경색을 설정하는 것이 중요하다는 사실에 감사드립니다.

엑셀 컬러 그리드

43 바이트를 절약하는 ColorIndex대신 사용하도록 제안 해 준 @Neil에게 감사드립니다 Color.

@Keeta 덕분에 -21 바이트

"즉시 창"을 제안한 @Chronocidal 덕분에 -16 바이트

@i_saw_drones 덕분에 -2 바이트

내 원래 제출에서 많은 변경 사항 :)


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
Chronocidal

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 스크린 샷


신뢰할 수있는 오래된 ST에 대해 향수를 불러 일으켜 +1.
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 덕분에 1 바이트 절약

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에 오신 것을 환영합니다!
무지의 실시


@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

이것은 답변에 대한 Neil 의 제안에서 영감을 얻은 것이며, 첫 번째 제출입니다!

결과:

결과 그리드

-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
Taylor Scott

11

펄 6 (그리고 아마도 많은 언어에서 비슷할 것입니다) (31 바이트)

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

이 파일은 파일 확장자가 .raw 인 Photoshop에서 생성 한 헤드리스 TIFF 파일을 출력하며, 열 때 달리 지정하지 않는 한 정사각형으로 간주됩니다. 색 농도 (허용되는 경우)로 재생하면이 정도가 더 줄어들 수 있습니다.


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}$

Ungolf'd :

$$
\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. 면도 수 교체하여 함께 , which'd처럼14bytes\rule{5em}{5em}

    하지만 똑같이 보이지는 않습니다.

  3. 의도 한 색상과 유사한 색상 이름을 찾아서 몇 바이트를 더 줄일 수 있습니다.

  4. 그냥 깔끔하게 것을 보여 이의 버전과 같을 것이다 :TEX'd

    RedGreenBlueRedGreenBlue.


1
색상이 정확하지 않은 것 같습니다. 그러나 그 제목을 제외하고는 귀하의 게시물을
찬성합니다

@flawr 예, 질문 문의 색상 과 다르게 보이지만, 가 질문 문에 주어진 이름으로 색상을 렌더링하는 방식이라면 충분히 가깝기를 바랍니다. = PTEX
Nat

1
mathjax가 CSS 색상 이름을 사용하는 것 같습니다. 그래서 당신은 대체 할 수 purplefuchsiatealaquagreenlime내가 생각하는 올바른 것 다음 일.
flawr

참고 사항 : 위의 일부를 제거하여 골프를 더 많이 할 수 있습니다 {}. 그러나 그것은 제 정신을 위해 너무 많은 깨끗한 코딩 원칙을 위반했습니다. = P
Nat

5
PPCG 커뮤니티는 그 정신으로 유명하지 않았습니다. 아마도 부족한 것이 있다면.
flawr

10

루아 + 사랑 / Love2D , 186 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 Smart!
Sheepolution

또 다른 ö 버, 만나서 반가워요
Lycea


9

옥타브 / MATLAB , 57 56 40 바이트

@ExpiredData 덕분에 -17 바이트! 그들의 골퍼 솔루션을 확인하십시오 !

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

온라인으로 사용해보십시오!


1
imshow 대신 이미지 만 작동합니까? 더 이상 Matlab 라이센스가없고 전화를 걸어 테스트 할 수 없습니다
만료 된 데이터

2
@ExpiredData 정말 감사합니다. 실제로 작동합니다!
flawr

2
당신도 아마 이것을 할 수 있습니다 온라인으로 사용해보십시오!
만료 된 데이터

1
@ExpiredData --- 아주 좋은 트릭, 고마워요! :) --- 왜 이것을 자신의 답변으로 게시하지 않습니까?
flawr

3
그래 내가 할거야
만기 데이터

9

Factorio Blueprint 문자열, 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 바이트, 특히 @Einacio
덕분에 @data -4 바이트

"블록"에 유니 코드 (U + 2588)를 사용하고 CSS 클래스 / 인라인 스타일을 사용하여 색상을 지정합니다.

<font>태그를 더 골프화 할 수 있다고 생각 하지만 더 짧은 태그로 변경 <a>하면 color속성이 끊어집니다.


1
생략 </td>자동으로 닫는 태그 추가 브라우저가 스마트 충분하다
Ferrybig

3
더 이상 사용되지 않는 요소를 사용하는 경우<td bgcolor=#f00>
Ferrybig

2
멍청한 질문 일 수도 있지만 테이블 사용을 피하고 █을 인쇄하고 <br>을 사용하여 새 줄로 넘어갈 수 없습니까?
frarugi87

1
@ frarugi87 yes-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 {컬러 : # ff0} u {컬러 : # f0f} i {컬러 : # 0ff} <pre> <font color = red> █ <b> █ <u> █ <b> █ <글꼴 색상 = lime> █ <i> █ <u> █ <i> █ <font color = blue> █
데이터

7

자바 스크립트, 108102 바이트

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

스 니펫은 콘솔 브라우저가 아닌 실제 브라우저 콘솔에서만 작동하므로 스 니펫이 없습니다. 편집 : 스크린 샷을 주신 @AJFaraday에게 감사합니다. 설명 : 브라우저는 첫 번째 매개 변수가 console.log대체를 포함 하도록 허용합니다 . %c대체 파라미터를 취하고 (새 니타 이징) CSS로 적용된다. 따라서 각 블록은 f0ff00f03 자리 16 진수 색상 코드로 해석되는 적절한 하위 문자열을 사용하여 색상이 지정됩니다.

코드 실행의 예


1
어떻게 작동하지 않습니까?
마샬 크래프트

1
@marshalcraft %c는 형식 문자열을 만드는 데 사용됩니다. 인수는 그 뒤에 텍스트의 CSS 스타일입니다.
ASCII 전용

1
그래서 이것은 기본적으로 dos 버전과 비슷하지만 크롬 브라우저가 있습니까?
마샬 크래프트

1
궁금한 점이 있지만 사용 가능한 가장 짧은 fs / 0 체인을 찾으려면 어떻게 했습니까?
Marie

2
@Marie 나는 ff0ff모든 혼합 색상과 00f00모든 순수한 색상 을 포함 하고 있음을 지적하면서 시작했습니다 . 당신이 그 (것)을 연결하는 경우는 중복 위치를 취득 ff0하고 f00그래서 당신은 첫 번째와 마지막 문자를 제거 할 수 있습니다. 그런 다음 짧은 문자를 작성하여 7 자 문자열을 모두 확인하여 8이 최적인지 확인했습니다.
Neil

7

HTML (GIF), 108 바이트

웹 기반 이미지 형식의 전투입니다! (TIF 또는 JPG 경쟁자가 있습니까?)

@AC에 의해 답변 .

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


HTML (BMP), 116 (115) 바이트

@ASCII 전용으로 답변하십시오 .

<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 바이트

@Hohmannfan 덕분에 -15 바이트 .

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


또한 내 CSSSVG 답변을 참조하십시오 .


3
좋은 생각이지만 .. 9 픽셀 이미지의 89 바이트 파일이 너무 많은 것 같습니다. BMP 헤더를 수동으로 작성하면이 문제를 해결할 수 있습니다. I 잘못된 게 아니라면, 최소한의 헤더는 26 바이트를 더한 실제 데이터의 12 (4 개 화소의 3 행)되는베이스 64 개 수단 (51) 또는 (52 개)의 문자가 아닌 119에 38 바이트까지의 화상을 트리밍 할 수있다
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 솔루션이 있습니다. 스펙을 위반하지 않으면 더 이상자를 수 없으므로 BMP가 116 바이트로 좁혀 버렸습니다. <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 값이 있습니다. 이 코드를 사용하고 그리드를 인쇄하고 있습니다 X.

번다 화려한 'x 's

먼저로 입력 기수를 기준 15로 설정합니다 Fi. 이것은 2 바이트의 비용이 들지만 3 바이트를 돌려줍니다. 따라서 바이트의 순 이득 (및 가독성의 큰 손실). 다음으로 색상 값을 스택에 가져옵니다. 십진수로, 이것은 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(교환 후, 그 복제 스택의 제 1 값을 삽입 제를 배치하고,에 의해 36dD6r, 101dD6r).

매크로 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 사용 :

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 자입니다. 코드 골프에서 줄 바꿈이 어떻게 / if되는지 잘 모르겠습니다.
Nat

4
예, 그러나 TI-BASIC은 토큰 화 된 언어입니다. 예를 들어 인터프리터는 TextColor@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 값을 갖는 이미지를 생성하는 방법


당신은 서면으로 한 바이트 면도 할 수 있습니다 0xFF0000255<<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

기본 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 Language (Mathematica), 72 바이트

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

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.