임의의 컬러 픽셀 표시


47

나는 항상 무작위로 채색 된 픽셀로 가득 찬 화면을 좋아했습니다. 그들은 보는 것이 흥미롭고 그들을 끌어들이는 프로그램은 재미있게 볼 수 있습니다.

도전

컬러 픽셀로 화면 또는 그래픽 창을 채우십시오.

규칙

  • 여러분의 프로그램은 따기의 더 기회가 있어야 모든 색상 (범위, 즉 #000000#FFFFFF), 또는 시스템에 표시 할 수있는 모든 색상을.
  • 프로그램은 수동으로 중지 될 때까지 임의의 픽셀을 계속 표시해야합니다 (자체적으로 종료 할 수 없음).
  • 출력에 최소 40x40 "픽셀"이있는 한 픽셀의 크기는 제한이 없습니다 .
  • 프로그램은 3 분 동안 실행 한 후 화면 / 창의 모든 픽셀을 한 번 이상 바꿀 수있는 속도로 실행해야합니다.
  • 프로그램은 대체 할 임의의 색과 점을 선택해야합니다 . 즉, 모든 점 / 색이 동일하게 무작위입니다. 무작위로 보일 수는 없습니다 . pRNG 이상을 사용해야하며 매번 출력이 같을 수 없습니다.
  • 프로그램은 반복 할 때마다 모든 색상을 선택할 수있는 기회가 동일해야합니다 .
  • 프로그램은 한 번에 하나의 픽셀 만 교체해야합니다.
  • 귀하의 프로그램은 인터넷이나 파일 시스템 ( /dev/random/dev/urandom제외)을 사용할 수 없습니다 .

임의의 시간에 중지되면 출력은 다음과 같습니다.

승자

각 언어에서 가장 짧은 답변이 이깁니다. 즐기세요!


"정말 무작위"로, 의사 난수는 괜찮다고 가정합니다 (Math.random () 또는 이와 유사 함)
OldBunny2800

@ OldBunny2800It must use a pRNG or better
TheLethalCoder

이 프로그램은 인터넷을 사용할 수 없기 때문에 이것을 코멘트로 남겨 두겠습니다. babelia.libraryofbabel.info/slideshow.html
KSmarts

1
"3 분 제한"도 설정 시간에도 적용됩니까? 아니면 "프로그램"이 시작되면? Minecraft 레드 스톤 솔루션이 있기 때문에 묻습니다. 매번 빠르게 실행되지만 색상을 변경하기 전에 초기 설정 (40x40 그리드에서 각 "픽셀"을 "배치"해야 함)에 시간이 걸립니다.
BradC

5
정의에 따라 무작위의사- 랜덤 을 제외 하지만 분포를 정의하지는 않습니다. 나는 당신이 균일 한 PRNG 를 의미한다고 가정합니다 .
Dennis

답변:


85

마인 크래프트 1.12 레드 스톤 커맨드 블록, 4,355 2,872 바이트

갑옷 스탠드와지도 마인 크래프트 스크린 샷

(저장된 구조 블록 파일 크기에 따라 크기가 결정됩니다.)

전체 YouTube 개요 는 다음과 같습니다. 아래 코드를 간략하게 살펴 보겠습니다.

설정 루틴 :

설정을위한 2 행의 명령 블록

40x40 그리드 마인 크래프트 아머 스탠드를 설정합니다. 마인 크래프트가 변수를 월드 좌표로 대체 할 방법없기 때문에 갑옷 스탠드가 필요 합니다 . 따라서이 해결 방법은 이러한 갑옷 스탠드 엔티티 의 위치참조하는 것 입니다.

(impulse) summon armor_stand 2 ~ 1 {CustomName:"A"} /create named armor stand
(chain) fill -2 ~ -2 43 ~ 43 stone                  /create big stone square
(chain) fill -1 ~ -1 42 ~ 42 air                    /leave just a ring of stone
(chain) setblock -4 ~ -12 redstone_block            /kicks off next sequence

이 명명 된 갑옷 스탠드는 기본적으로 우리가 필요로하는 모든 갑옷 스탠드를 배치하기위한 "커서"입니다. 마지막 단계의 레드 스톤 블록은 근처 블록 (명령 블록 포함)에 "전원을 공급"하므로 다음 루프를 시작합니다.

(repeat) execute @e[name=A] ~ ~ ~ summon armor_stand ~-1 ~ ~   /create new armor stand 
(chain) tp @e[name=A] ~1 ~ ~                                   /move "cursor" one block
(chain) execute @e[name=A] ~ ~ ~ testforblock ~1 ~ ~ stone     /if at end of row,
(conditional) tp @e[name=A] ~-40 ~ ~1                          /go to start of next row
(chain) execute @e[name=A] ~ ~ ~ testforblock ~ ~ ~2 stone     /If at last row
(conditional) setblock ~6 ~ ~ air                              /stop looping
(conditional) kill @e[name=A]                                  /kill cursor

이 시점에서 그리드가 완성됩니다 :

완성 된 갑옷 스탠드 그리드

랜덤 컬러 셀렉터

색상 및 픽셀 선택기

이 그림 중앙의 자주색 중계기는 다음 명령을 통해 임의의 색상을 선택합니다.

(repeat) execute @r[type=armor_stand,r=9] ~ ~ ~ setblock ~ ~-2 ~ redstone_block

"@r []"는 마술 소스이며 , 주어진 조건과 일치하는 세계에서 임의의 엔티티를 선택합니다 . 이 경우 반경 9 블록 안에 갑옷 스탠드가 있으며 양모 색상마다 하나씩 16 개의 갑옷 스탠드를 설정했습니다. 선택한 색상 아래에 레드 스톤 블록이 배치됩니다 (두 쪽의 명령 블록에 전원을 공급).

랜덤 픽셀 셀렉터

선택한 울 색상 아래에 레드 스톤 블록을 배치하면 명령 블록이 두 개 더 트리거됩니다.

(impulse) execute @r[type=armor_stand] ~ ~ ~ setblock ~ ~3 ~ wool X
(impulse) setblock ~ ~ ~1 air

이 첫 번째 줄은 동일한 마술 @r 명령을 사용 하여 전체 맵에서 갑옷 스탠드 를 선택 하고 (40x40 그리드를 포함하는 반경 제한 없음) 선택한 색상의 양모를 머리 위에 놓습니다. X는 색상을 결정하고 범위는 0에서 15까지입니다. 두 번째 명령은 레드 스톤 블록을 제거하여 다시 갈 준비가되었습니다.

나는 5 개의 자주색 리피터 블록을 가지고 있으며, 레드 스톤은 초당 20 회 "틱"으로 작동하므로 초당 100 픽셀 (일부 색상 겹침)을 배치합니다. 시간을 정했으며 보통 전체 그리드를 약 3 분 안에 덮습니다.

재미있었습니다. Minecraft에서도 작동하는 다른 도전 과제를 찾아 볼 것입니다. YouTube Command Block 자습서 시리즈에 대해 lorgon111에게 감사드립니다 .

편집 : 저장 된 구조의 크기가 약간 줄어 듭니다 .

보이드 블록이 보이는 더 가까운 명령 블록

  1. 저장 영역의 전체 크기를 줄일 수 있도록 약간 (3 차원 모두)으로 물건을 스쿠 팅했습니다.
  2. 다른 색깔의 양모를 돌로 바꿨는데 어쨌든 장식용이었습니다.
  3. 글로우 스톤 램프를 제거했습니다.
  4. 모든 공기 블록을 공극 블록 (빨간색 사각형)으로 변경했습니다.

저장된 구조를 새로운 세계로 끌어서 테스트 한 결과 모든 것이 여전히 설계된대로 작동합니다.

편집 2 : NBT 구조 파일에 대한 읽기 전용 Dropbox 링크

단계별 안내는 YouTube 동영상 에 있지만 다음 단계는 다음과 같습니다.

  1. Minecraft 1.12에서 "Redstone Ready"사전 설정을 사용하여 새로운 독창적 인 슈퍼 플랫 월드를 만드십시오. 평화로운 모드로 만드십시오.
  2. 세계가 존재하면 NBT 파일을 \structures현재 세계 저장에서 생성 한 새 폴더에 복사하십시오 .
  3. 위로 게임, 않습니다 /give @p structure_block, 그리고 /tp @p -12, 56, -22정확한 지점에 점프로 시작합니다.
  4. 구멍을 파고 구조 블록을 -12, 55, -22에 놓습니다.
  5. 구조 블록을 마우스 오른쪽 버튼으로 클릭하고 모드 버튼을 클릭하여 "로드"로 전환하십시오.
  6. "random_pixels"를 입력하고 "엔티티 포함"을 켜고 "로드"를 클릭하십시오.
  7. 구조 파일을 찾으면 개요를 미리 볼 수 있습니다. 마우스 오른쪽 버튼을 다시 클릭하고 "로드"를 클릭하여 구조를 세상에 가져옵니다.
  8. 버튼을 눌러 설정 루틴을 실행하십시오.
  9. 완료되면 스위치를 뒤집어 울 무작위 화를 실행하십시오.

6
이런 헛소리 ... 당신은 실제로 그것을했다. 그리고 첫 번째 대답입니다. 사이트에 오신 것을 환영합니다. 이것은 시작 하는 놀라운 방법입니다!
MD XF

2
@MDXF 당신의 +10 이외에, 나는 +60을주고 있습니다
NoOneIsHere6

2
@NoOneIsHere All right : P 그러나 대답이 있다면 +100이어야합니다.
MD XF

2
나는 당신이 세계 파일을 주면 이것을 시도하고 골프 할 것입니다 (나는 다른 답변을 게시하지 않고 파일을 줄 것입니다)
Christopher

2
글쎄, shortest answer in each language wins이것은 Minecraft에서 가장 짧은 답변입니다 : P 추가 +15
MD XF

20

sh + ffmpeg, 52 바이트

ffplay -f rawvideo -s cif -pix_fmt rgb24 /dev/random

ffmpeg는 esolang으로 간주됩니까? :디

안타깝게도 pixmp는 기본적으로 yuv420p로 pix_fmt가 필요합니다. 그것은 "가능한 모든 픽셀 컬러의 가능성이 동일해야한다"라는 요건을 충족시키지 못한다. 편리하게 cif는 "40x40"보다 적은 공간을 사용하는 상당히 큰 비디오 크기의 바로 가기입니다.

당연히이 GIF를 gifsicle로 최적화하는 것은 전혀 효과가 없었습니다. 4MiB입니다.


3
이것이 " 한 번에 하나의 픽셀만을 대체 합니까 ?"
Scott Milner 2016 년

1
기술적으로? 그러나 ffmpeg는 전체 프레임이 픽셀로 채워질 때까지 기다렸다가 표시합니다. "한 번에 한 픽셀 만 교체해야합니다"를 "may"로 잘못 읽었습니다. : /
Una

1
물론 gifsicle은 gif에 바이트를 저장할 수 없었습니다. 임의의 데이터를 압축하는 방법이 없으며 임의의 픽셀이 혼란스럽게 배열되어 있습니다. 즉, 가장 효율적인 인코딩 방법은 한 번에 한 픽셀입니다. Numberphile (제 생각에는?)은 "정보 란 무엇인가"에 대한 비디오를 가지고 있으며 의도적으로 YouTube의 압축을 망칠 수있는 임의의 잡음을 일으켰습니다. VSauce는 한 시점에서 비디오 압축에 대한 비디오를 가지고 있었지만 그 비디오를 잊었습니다.
Draco18s 2016 년

2
@ Draco18s는 압축 할 수 없다는 것에 대한 메모는 어쨌든 gifsicle을 실행하려고 시도한 것에 대해 나 자신을 즐겁게하는 것이 었습니다.
Una

2
Gifsicle은 잘못된 도구입니다. Precomp 는 4MB에서 3MB로 줄입니다. :) GIF 알고리즘은 압축하는 대신 임의성을 확장하고 Precomp는이를 반대로하기 때문입니다.
schnaader

17

POSIX의 C, 98 96 95 92 바이트

Tas 덕분에 -3

#define r rand()
f(){for(srand(time(0));printf("\e[%d;%dH\e[%d;4%dm ",r%40,r%40,r%2,r%8););}

16 가지 색상 (다크 그레이, 레드, 그린, 블루, 오렌지, 시안, 퍼플, 라이트 그레이, 블랙, 핑크, 라이트 블루, 옐로우, 라이트 시안, 마젠타, 화이트) 중에서 선택하여 터미널에 직접 인쇄합니다.

GPU가 너무 느리면 전체 화면을 한 번에 업데이트하는 것처럼 보일 수 있습니다. 실제로는 픽셀 단위로 진행되지만 C는 빠릅니다.

그림 물감

색상을 더 뚜렷하게하는 대체 솔루션 :

f(){for(srand(time(0));printf("\e[%d;%dH\e[%d;3%dm█",rand()%40,rand()%40,rand()%2,rand()%8););}

픽셀 단위로 진행된다는 증거 (대체 프로그램의 스크린 샷) :

3d !!!

와우, 그것은 거의 3 차원으로 보입니다 ...


;올바르게 컴파일 하는 것이 누락 되었지만 그 외에는 잘 작동하는 것 같습니다! B-)
cleblanc

@cleblanc 아, 맞아요! 에서 while로 전환 한 후 추가하는 것을 잊었습니다 for.
MD XF

2
아마도 #define r rand()다음을 사용하여 몇 바이트를 깎을 수 있습니다.r%40, r%40, r%2, r%8
Tas

32 비트 색상을 사용하지 않으면 요구 사항을 충족하지 못합니다.
wberry

4
@wberry "프로그램은 모든 색상 (예 : # 000000 ~ #FFFFFF 범위) 또는 시스템에 표시 할 수있는 모든 색상을 고를 수있는 기회가 있어야합니다 . "POSIX 터미널이 표시 할 수있는 모든 색상입니다.
MD XF

13

JS + HTML 162 + 32 (194) 124 + 13 (137) 바이트

많은 바이트를 절약 해 준 Luke와 다른 주석가들에게 감사합니다.

r=n=>n*Math.random()|0
setInterval("b=c.getContext`2d`;b.fillStyle='#'+r(2**24).toString(16);b.fillRect(r(99),r(99),1,1)",0)
<canvas id=c>


2
-element <canvas id=c>의 기본 크기 가 "viewport size"(을)를 초과 한다고 생각하기 때문에 실제로 충분해야합니다 . 어쨌든, 좋은 해결책. canvas300 x 150 px99 x 99 px
insertusername 여기

1
@insertusername 여기, 감사합니다
Octopus

1
Firefox에서는 작동하지 않습니다. Chrome에서 작동합니다
ETHproductions

1
알았어 알았어 b = c.getContext를 수행하여 2 바이트를 절약하십시오 2d. ( "2D는"템플릿 문자가 아닌 경우 확인이 형식을 지정하는 방법,하지만, 그것은 괄호가 필요하지 않습니다.) (내 이전 제안을 삭제할 수 있습니다.)
릭 히치콕

1
Rick의 제안과 함께 다음 with사례를 모두 없애기 위해 성명서를 사용하십시오 b..r=n=>n*Math.random()|0 setInterval("with(c.getContext`2d`)fillStyle='#'+r(2**24).toString(16),fillRect(r(99),r(99),1,1)")
darrylyeo

11

MATL, 28 바이트

40tI3$l`3l2$r,40Yr]4$Y(t3YGT

MATL Online 에서 사용해보십시오 . .5Y.이 버전에 0.5 초 일시 중지 ( )를 추가했습니다 .

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

설명

40       % Push the number literal 40 to the stack
t        % Duplicate
I        % Push the number 3 to the stack
3$l      % Create a 40 x 40 x 3 matrix of 1's (40 x 40 RGB image)
`        % Do...while loop
  3l1$r  % Generate 3 random numbers (RGB)
  ,      % Do twice loop
    40Yr % Generate two integers between 1 and 40. These will be the
  ]      % row and column of the pixel to replace
  4$Y(   % Replace the pixel with the random RGB value
  t      % Make a copy of the RGB image
  3YG    % Display the image
  T      % Push a literal TRUE to create an infinite loop

1
나는 그것을 좋아한다! ----
MD XF 1

4
호기심에서 코드 출력을 어떻게 향상 시켰습니까?
Octopus

2
@Octopus 방금 LICEcap을 사용 했습니다 . 요즘에는 애니메이션 GIF 출력을 온라인 컴파일러에 통합 할 것입니다.
Suever

이 답변이 유사한 결과를 얻기 위해 더 적은 명령 / 방법을 사용 하는 방법을 보았을 때 더 낮은 점수를 얻기 위해 MATL로 변환 할 수 없었습니까?
MD XF

이미 교체 된 픽셀이 다시 교체되는 것을 보았습니다.).
Magic Octopus Urn

7

TI-BASIC (84 + C (S) E 만 해당), 37 35 바이트

:For(A,1,5!
:For(B,1,5!
:Pxl-On(A,B,randInt(10,24
:End
:End
:prgmC //"C" is the name of this program

하드웨어 제한으로 인해 프로그램이 TI-BASIC 의 프로그램 내에 중첩 될 때마다 상위 프로그램에서 "책갈피를 유지"하기 위해 15KB의 RAM이 할당 되므로 결국 충돌이 발생 합니다. 이것은 무한 RAM을 가진 "이론적"계산기에서 잘 작동하지만 실제 계산기에서 무기한으로 실행 While 1하려면 추가 2 바이트 동안 루프로 감쌀 수 있습니다 .

:While 1
:...
:End

컬러 스크린 (TI 84 + CE 및 CSE)이있는 TI-83 제품군 계산기는 15 가지 색상을 지원합니다. 그들은 색상 코드가 10스루 24. 이렇게하면 120 x 120 ( 5!) 정사각형의 모든 픽셀이 순환 되고 각 색상에 임의의 색상이 할당됩니다.

결과:

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


예, 또 다른 기본 답변입니다! 확실히, 이것이 영원히 실행됩니까?
MD XF

@MDXF 이제 그렇습니다! ;-). 처음으로 그 부분을 놓쳤다. +5 바이트
Scott Milner 2012 년

100x100 픽셀을 커버하려는 경우 for 루프가 0에서 시작하도록 할 수 있습니다.
kamoroso94

@ kamoroso94 아, 맞아. 5!120 픽셀을 원한다면 할 수도 있습니다 .
Scott Milner 2016 년

2
@MDXF TI-BASIC토큰 기반 입니다. 즉 For(1 바이트, Pxl-On(1 바이트, randInt(2 바이트 등
스콧 밀너

5

MATLAB, 56 바이트

x=rand(40,40,3);while imagesc(x),x(randi(4800))=rand;end

출력은 아래 이미지와 같습니다. 한 번에 하나의 "픽셀"이 변경되고 RGB 색상 중 하나만 변경됩니다.

왜? MATLAB의 색상은 R, G 및 B에 대해 하나의 레이어 인 3D 매트릭스로 표시됩니다. 위의 코드는 반복 당 하나의 레이어 만 변경합니다. 모든 픽셀과 모든 레이어를 변경할 수 있으므로 조금만 기다리면 모든 위치에서 모든 색상을 동일하게 사용할 수 있습니다.

pause(t)루프 내부를 추가 하여 t각 이미지 사이에서 초 를 일시 중지 합니다.

Ctrl+로 중지해야합니다 C.

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


3
where
Suever

2
규칙이 명확 해졌습니다 Your program must have an equal chance of picking all colors/points each iteration. 당신의 프로그램은 이것을 충족합니까?
MD XF

5

배쉬 + coreutils, 59 56 바이트

for((;;)){ printf "\e[48;5;`shuf -i 0-16777215 -n1`m ";}

\e[48;5;COLORm 배경색에 대한 이스케이프 보안입니다.

각 "픽셀"은 매번 [0..16777215] 범위에있을 수 있습니다.


1
와, 정말 좋은 생각이야! +1
MD XF

다음을 사용하면 3 바이트를 사용할 수 있습니다 jot.for((;;)){ printf "\e[48;5;`jot -r 1 0 16777215`m ";}
Moreaki

나는이 아이디어를 훔쳐서 45 바이트로 줄였다. 당신이 원한다면 나는 그것을 삭제할 수 있습니다. 인생의 게임에서 "도전과 답변! codegolf.stackexchange.com/q/11880/7017
Olivier Dulac

5

자바 스크립트 + HTML 118 + 13 (131 바이트)

r=_=>255*Math.random()|0;setInterval('x=c.getContext`2d`;x.fillRect(r(),r(),1,1,x.fillStyle=`rgb(${[r(),r(),r()]})`)')
<canvas id=c>

  • 균일하게 분산 된 RGB 색상이 생성됩니다. 당신은 같은 숫자로 적절한 패딩없이 진수 색상을 사용할 수 없습니다 #7유효한 색이 아니거나 #777#777777같은 색 (확률 2 배를)입니다
  • 캔버스 요소는 기본적으로 300x150이지만 실제로는 255x255 정사각형에 그려 지므로 캔버스 픽셀이 없으므로 유효 영역은 255x150입니다.
  • Chrome에서만 작동합니다.

2
첫 번째 게시물! 사이트에 오신 것을 환영합니다!
MD XF

이것이 빨강, 녹색, 파랑 또는 흰색과 같이 255로 설정된 채널로 색상을 표시 할 가능성이 없다고 생각합니다. 대신 256을 곱해야한다고 생각합니다.
kamoroso94

4

엑셀 VBA, 131 (102) 85 바이트

도우미 함수 (아래 참조)를 사용하여 임의 색상 셀의 배열을 A1:AN40활성 시트 개체 범위로 출력하는 익명 VBE 즉시 창 기능 .

참고 :이 솔루션은 8^864 비트 버전의 VBA에서 컴파일되지 않으므로 32 비트 MS Excel 설치 (및 전체 Office)로 제한 됩니다.

Randomize:Cells.RowHeight=48:For Each c In[A1:AN40]:c.Interior.Color=(8^8-1)*Rnd:Next

샘플 출력

무작위 셀 색상

이전 버전

Randomize:Cells.ColumnWidth=2:For Each c In Range("A1:AN40"):c.Interior.Color=RGB(n,n,n):Next

도우미 기능

[0,255] 범위의 임의의 int를 출력합니다

Function n
n=Int(255*Rnd)
End Function

3

C #을, 369 288 287 바이트

namespace System.Drawing{class P{static void Main(){var g=Graphics.FromHwnd((IntPtr)0);var w=Windows.Forms.Screen.GetBounds(Point.Empty);for(var r=new Random();;)g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256),r.Next(256),r.Next(256))),r.Next(w.Width),r.Next(w.Height),1,1);}}}

@CodyGray 덕분에 88 바이트가 절약되었습니다.

화면의 핸들과 크기를 가져 와서 무작위로 픽셀을 그리기 시작하는 전체 프로그램. 이로 인해 그래픽 카드가 정지 될 때 정지 될 수 있습니다. 또한 화면이나 컨트롤이 언제든지 다시 페인트하기로 결정하면 픽셀이 손실되고 다시 그려야합니다.

참고 : 창을 죽일 때 창에 계속 초점을 유지하면 Alt + F4를 누르거나 닫기 버튼을 눌러 화면이 보이지 않는 경우 그렇게해야합니다.

ScreenToGif를 사용하여 픽셀을 제거하기 위해 다시 칠하기를 계속했기 때문에이 작업을 기록 할 수 없었습니다. 그러나 여기에 약 10-15 초 후에 실행되는 스크린 샷이 있습니다. 더 이상 PC를 정지시킬 수 있다고 생각합니다! 오른쪽 상단의 간격은 스크린 샷을 찍었을 때 화면이 다시 페인트되는 부분입니다.

정식 버전 예

풀 / 포맷 버전 :

namespace System.Drawing
{
    class P
    {
        static void Main()
        {
            var g = Graphics.FromHdc((IntPtr)0);
            var w = Windows.Forms.Screen.GetBounds(Point.Empty);

            for (var r = new Random();;)
                g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256), r.Next(256), r.Next(256))),
                                r.Next(w.Width), r.Next(w.Height), 1, 1);
        }
    }
}

0-40 영역에만 그려진 308 227 226 바이트 버전 :

namespace System.Drawing{class P{static void Main(){var g=Graphics.FromHdc((IntPtr)0);for(var r=new Random();;)g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256),r.Next(256),r.Next(256))),r.Next(40),r.Next(40),1,1);}}}

이것에 대한 예제 출력 :

작은 예제 출력



Graphics.FromHwnd((IntPtr)0)작동하고 P / Invoking보다 훨씬 짧습니다 GetDC. 물론 코드는 여전히 Tas 와 비슷하고 미친 것처럼 리소스가 누출되므로 짧은 실행 시간 후에 컴퓨터가 정지됩니다.
코디 그레이

@CodyGray 오, 누수가 있음을 알고 있지만 여전히 도전 사양 내에서 작동해야합니다. 그리고 GetDC돌아 오지 IntPtr.Zero않아서 보내면 FromHdc작동하지 않습니다.
TheLethalCoder

1
제안을 더주의 깊게 읽으십시오. :-) 나는 당신이 전화 할 것을 제안하는 것이 아닙니다 FromHdc. 나는 당신이 전화 할 것을 제안하고 있습니다 FromHwnd. GetDC창 핸들에 대한 DC를 얻기 위해 호출 할 때 창 핸들로 NULL 포인터 (0)를 전달합니다.
코디 그레이

@CodyGray 아 그래, 작동합니다, 감사합니다! 그것들은 비슷한 이름을 가지고 있으며, 당신의 코멘트를 더주의 깊게 읽어야합니다 ...
TheLethalCoder

3

C # 콘솔 233 220 189 188 바이트

namespace System{using static Console;class P{static void Main(){for(var r=new Random();;){BackgroundColor=(ConsoleColor)r.Next(16);SetCursorPosition(r.Next(40),r.Next(40));Write(" ");}}}}

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

"모두"(창) 16 개의 콘솔 색상을 사용합니다.

"feature"가 using지시문을 통해 C #에서 클래스의 별명을 지정할 수있게되어 감사합니다 .

편집 # 1

  • 공백을 제거했습니다.

  • Random.Next ()에서 0을 제거했습니다.

  • 갔다 namespace system{...}

편집 # 2

  • 그리드의 최소 크기는 40x40입니다.

  • for 루프 헤더에 임의를 선언하여 1 바이트

  • public기본 방법에서 제거

편집 # 3

밝혀지는 using C=Console;것이 최고가 아닙니다 . using static Console클래스를 "가져 오기"하는 VB.Net 방식과 매우 유사합니다.

나는 포기한다 : TheLethalCoder는 이것을 실현시켰다


207 바이트에서 창 크기를 조정하기위한 원본 코드 :

namespace System{using static Console;class P{static void Main(){for(var r=new Random();;){BackgroundColor=(ConsoleColor)r.Next(16);SetCursorPosition(r.Next(WindowWidth),r.Next(WindowHeight));Write(" ");}}}}

원본 이미지 :

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


namespace System바이트를 저장하고, r.Next내가 생각하는 0을 제거하고, 관련없는 공백을 제거 할 수 있습니다.
TheLethalCoder

또한 C # 제목만으로도 괜찮습니다
TheLethalCoder

감사! 이 도전에 대한 가치가 있기 때문에 콘솔에 제목을 남겨두면 귀중한 컨텍스트를 제공합니다. namespace System{}보다 짧은 방법 이 없습니다 using System;. 설명 할까?
MrPaulch 2016 년

1
나는 대중에게 필요한이 강력하지만 근거없는 기억을 가졌다 Main. 근거없는 추억이 최고입니다!
MrPaulch 2016 년

1
감사. 포기하지 않을 것이다! :) 다음 도전에서 배운 것을 사용할 것입니다!
MrPaulch 2016 년

3

처리, 90 바이트

void draw(){float n=noise(millis());int i=(int)(n*9999);set(i%99,i/99,(int)(n*(-1<<24)));}

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

확장 및 코멘트 :

void draw(){
  float n=noise(millis());//compute PRNG value
  int i=(int)(n*9999);    //compute 99x99 pixel index
  set(i%99,i/99,          //convert index to x,y 
  (int)(n*(-1<<24)));     //PRNG ARGB color = PRNG value * 0xFFFFFFFF 
}

이상적으로는 x, y 위치 대신 픽셀 인덱스를 사용할 수 있지만 Processing의 pixels[]액세스에는 loadPixels()사전 및 updatePixels()사후 가 필요 하므로을 사용해야 set()합니다. point()작동하지만 더 많은 문자가 필요합니다 stroke(). 임의의 영역은 실제로 100x100 대신 몇 바이트를 절약하기 위해 99x99이지만 교체 할 영역의 각 픽셀로 40x40을 차지해야합니다.

더 의사 난수를 유지하고 바이트를 더 짧게 유지하기 위해 random () 대신 Perlin noise () 가 사용됩니다 . 값은 한 번 계산되지만 두 번 사용됩니다. 한 번은 임의 위치에 대해, 다시는 색에 대해 사용합니다.

색상은 실제로 ARGB(00000000 ~ FFFFFFFF) (RGB 아님)입니다 (보너스 포인트? : D).


이 사이트에서 만나서 반갑습니다.
Kevin Workman

마찬가지로! 그리고 감사합니다! :)
George Profenza 2016 년

+1 set()은 매우 깔끔한 트릭이며 가공시 골프 팁에
Kritixi Lithos

ooooooh! 나는 그것에 대해 몰랐다. 나는,이 덕분에 :)을 추가 할 것입니다
조지 Profenza에게

2

파이썬, 133 바이트

이것이 40x40 영역의 캔버스에 있기 때문에 이것이 사양에 맞는지 확실하지 않습니다.

from turtle import*
from random import*
ht()
up()
speed(0)
R=randint
while 1:goto(R(0,39),R(0,39));dot(1,eval('('+'R(0,255),'*3+')'))

evalTrinket에서 작동하지 않는 온라인 버전없이 사용해보십시오.


왜 거북 거리가 내 것과 다른지 확실히 알 수 있지만 기본 캔버스는 300 x 400이지만 기본값 colormode1.0아닙니다 255.
Jonathan Allan

Trinket.io는 매우 독특합니다.
mbomb007

예-방금 변경을 시도했지만 colormode아무것도 얻지 못했습니다 : /
Jonathan Allan

왜 작동 dot(1,R(0,255),R(0,255),R(0,255))하지 않습니까? dot수락하는 것을 의미합니다 (width,*color). 그것은 파이썬이 아닙니다 : p
Jonathan Allan

Trinket.io는 skulpt.js를 사용하기 때문에 불완전한 Python 구현입니다.
mbomb007

2

자바 스크립트를 사용하여 캔버스 340 316 324 바이트

function r(t,e){return Math.floor(e*Math.random()+t)}function f(){x.fillStyle="rgba("+r(1,255)+","+r(1,255)+","+r(1,255)+", 1)",x.fillRect(r(0,40),r(0,40),1,1)}c=document.createElement("canvas"),c.width=40,c.height=40,x=c.getContext("2d"),document.getElementsByTagName("body")[0].appendChild(c),c.interval=setInterval(f,1);

풀 버전


2
사이트에 오신 것을 환영합니다! :)
DJMcMayhem

"프로그램이 수동으로 중지 될 때까지 임의의 픽셀을 계속 표시해야합니다 (자체적으로 종료 할 수 없음)"규칙을 준수합니까?
Octopus

이것은 실행될 때 단순히 임의의 픽셀을 생성하는 것으로 보입니다. 중지 될 때까지 픽셀을 하나씩 계속 표시하지 않습니다.
MD XF

내가 그 규칙을 놓친 것 같습니다. 애니메이션이 아닌 이미지를 만드는 것이 실수라고 생각했습니다. 컴퓨터로 돌아 오면 답변을 업데이트하겠습니다.
Tim Penner

1
@MDXF 그것은 지금 애니메이션입니다
Tim Penner

2

처리, 112 바이트

void setup(){size(40,40);}void draw(){stroke(random(255),random(255),random(255));point(random(40),random(40));}

모든 픽셀이 3 분마다 교체된다고 보장 할 수는 없지만 픽셀을 보면 그렇게됩니다. 적어도 1600 픽셀 중 픽셀을 잃어 버릴 확률은 초당 30 회 임의의 1 개를 업데이트하고 3 분당 총 5400 건의 업데이트로 인해 누락 될 가능성이 없습니다.

언 골프 드 :

이 프로그램은 정말 간단합니다. 40x40 픽셀로 창을 열면 모든 프레임 (초당 30 초)이 임의의 색상을 얻고 0과 매개 변수 사이의 임의의 좌표로 점을 그립니다. 픽셀 좌표의 경우 40, 색상의 경우 255

void setup()
{
  size(40,40);
}

void draw()
{
  stroke(random(255),random(255),random(255));
  point(random(40),random(40));
}

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


를 제거하고 size(40,40);로 변경할 pointpoint(random(99),random(99));있습니까? (또는 99가 작동하지 않으면 대신 100)
Kritixi Lithos

처리중인 @KritixiLithos, size함수는 설정 함수의 첫 번째 코드 줄이어야합니다 (이유가 복잡한 이유). 그래서 나는 그 문제를 해결할 수 없습니다. 40에서 99까지의 모든 항목을 변경할 수 있습니다. 공간을 절약하지 못했기 때문에하지 않았습니다. 나는 모든 픽셀이 3 분 안에 리프레쉬 될 확률을 높이기 위해 주로 최소 크기로 갔다
Cody

훗, 그 누군가가 그것에 대해 얘기하고 당신이 볼 수 어떻게 든 밖으로 일 때까지 내가 먼저뿐만 아니라 무슨 생각을했습니다 여기 내 제출에.
Kritixi Lithos 2016 년

1
setup()내 컴퓨터에서 최신 버전의 Processing에서 전체 기능을 제거하면 오류없이 정상적으로 작동합니다.
Kritixi Lithos 2016 년

내 처리 버전이 상당히 오래된 것 같아 지금 업그레이드를 방해 할 정도로 사용하지 않습니다.
Cody

2

HTML + SVG + PHP, 245 바이트

<?$u=$_GET;$u[rand()%40][rand()%40]=sprintf("%06x",rand()%16777216);echo'<meta http-equiv="refresh" content="0.1; url=?'.http_build_query($u).'" /><svg>';foreach($u as$x=>$a)foreach($a as$y=>$c)echo"<rect x=$x y=$y width=1 height=1 fill=#$c />";

넓히는

$u=$_GET; # Get the Url
$u[rand()%40][rand()%40]=sprintf("%06x",rand()%16777216); # Set One Value in a 2 D Array
echo'<meta http-equiv="refresh" content="0.1; url=?'.http_build_query($u).'" /><svg>'; # refresh the site after 0.1 second follow the new Get parameter
foreach($u as$x=>$a) #loop through x Coordinates as Key
  foreach($a as$y=>$c) #loop through y Coordinates as Key value is the color
    echo"<rect x=$x y=$y width=1 height=1 fill=#$c />"; #print the rects for the SVG

메타 태그가없고 더 큰 버전의 출력 예

<svg viewBox="0 0 40 40" width=400 height=400><rect x=11 y=39 width=1 height=1 fill=#1b372b /><rect x=11 y=7 width=1 height=1 fill=#2c55a7 /><rect x=11 y=31 width=1 height=1 fill=#97ef86 /><rect x=11 y=26 width=1 height=1 fill=#94aa0a /><rect x=11 y=4 width=1 height=1 fill=#f8bf89 /><rect x=11 y=6 width=1 height=1 fill=#266342 /><rect x=11 y=29 width=1 height=1 fill=#369d80 /><rect x=11 y=20 width=1 height=1 fill=#ccfab8 /><rect x=11 y=12 width=1 height=1 fill=#ac0273 /><rect x=13 y=25 width=1 height=1 fill=#0d95e9 /><rect x=13 y=0 width=1 height=1 fill=#d2a4cb /><rect x=13 y=37 width=1 height=1 fill=#503abe /><rect x=13 y=35 width=1 height=1 fill=#4e60ae /><rect x=13 y=30 width=1 height=1 fill=#3cdd5e /><rect x=13 y=12 width=1 height=1 fill=#60464c /><rect x=13 y=17 width=1 height=1 fill=#a3b234 /><rect x=13 y=3 width=1 height=1 fill=#48e937 /><rect x=13 y=20 width=1 height=1 fill=#58bb78 /><rect x=13 y=4 width=1 height=1 fill=#5c61e6 /><rect x=13 y=10 width=1 height=1 fill=#758613 /><rect x=13 y=21 width=1 height=1 fill=#9b3a09 /><rect x=13 y=28 width=1 height=1 fill=#6c6b3b /><rect x=13 y=32 width=1 height=1 fill=#9b3a0f /><rect x=13 y=14 width=1 height=1 fill=#0c9bcc /><rect x=38 y=34 width=1 height=1 fill=#a3a65d /><rect x=38 y=23 width=1 height=1 fill=#c4441a /><rect x=38 y=25 width=1 height=1 fill=#cec692 /><rect x=38 y=39 width=1 height=1 fill=#535401 /><rect x=38 y=30 width=1 height=1 fill=#21371a /><rect x=38 y=26 width=1 height=1 fill=#7560a4 /><rect x=38 y=33 width=1 height=1 fill=#f31f34 /><rect x=38 y=9 width=1 height=1 fill=#3fce3f /><rect x=38 y=13 width=1 height=1 fill=#78cab8 /><rect x=3 y=39 width=1 height=1 fill=#c6cf06 /><rect x=3 y=26 width=1 height=1 fill=#d7fc94 /><rect x=3 y=31 width=1 height=1 fill=#048791 /><rect x=3 y=19 width=1 height=1 fill=#140371 /><rect x=3 y=12 width=1 height=1 fill=#6e7e7a /><rect x=3 y=21 width=1 height=1 fill=#f917da /><rect x=3 y=36 width=1 height=1 fill=#00d5d7 /><rect x=3 y=24 width=1 height=1 fill=#00f119 /><rect x=34 y=15 width=1 height=1 fill=#e39bd7 /><rect x=34 y=1 width=1 height=1 fill=#c1c1b8 /><rect x=34 y=36 width=1 height=1 fill=#0d15d5 /><rect x=34 y=29 width=1 height=1 fill=#d15f57 /><rect x=34 y=11 width=1 height=1 fill=#6f73b9 /><rect x=34 y=33 width=1 height=1 fill=#93ce78 /><rect x=34 y=16 width=1 height=1 fill=#ddd7bd /><rect x=34 y=14 width=1 height=1 fill=#73caa6 /><rect x=34 y=28 width=1 height=1 fill=#972d89 /><rect x=34 y=31 width=1 height=1 fill=#27e401 /><rect x=34 y=10 width=1 height=1 fill=#559d6d /><rect x=34 y=22 width=1 height=1 fill=#170bc2 /><rect x=30 y=13 width=1 height=1 fill=#a9ac0d /><rect x=30 y=4 width=1 height=1 fill=#3d9530 /><rect x=30 y=10 width=1 height=1 fill=#67b434 /><rect x=30 y=15 width=1 height=1 fill=#54930a /><rect x=30 y=11 width=1 height=1 fill=#8ce15b /><rect x=30 y=7 width=1 height=1 fill=#ddf53d /><rect x=30 y=32 width=1 height=1 fill=#04de14 /><rect x=30 y=19 width=1 height=1 fill=#f52098 /><rect x=30 y=22 width=1 height=1 fill=#dc7d70 /><rect x=30 y=0 width=1 height=1 fill=#d458c3 /><rect x=30 y=30 width=1 height=1 fill=#1f8895 /><rect x=30 y=36 width=1 height=1 fill=#b3d891 /><rect x=30 y=29 width=1 height=1 fill=#0f9810 /><rect x=30 y=5 width=1 height=1 fill=#b4ce36 /><rect x=30 y=33 width=1 height=1 fill=#a837ba /><rect x=30 y=23 width=1 height=1 fill=#02beb3 /><rect x=30 y=24 width=1 height=1 fill=#2a75da /><rect x=37 y=2 width=1 height=1 fill=#7b3aa3 /><rect x=37 y=26 width=1 height=1 fill=#0e9fb2 /><rect x=37 y=32 width=1 height=1 fill=#afb3a1 /><rect x=37 y=24 width=1 height=1 fill=#b421d6 /><rect x=37 y=16 width=1 height=1 fill=#39e872 /><rect x=37 y=38 width=1 height=1 fill=#552970 /><rect x=37 y=11 width=1 height=1 fill=#2a0b2a /><rect x=37 y=18 width=1 height=1 fill=#1fe310 /><rect x=37 y=36 width=1 height=1 fill=#a80fe3 /><rect x=37 y=6 width=1 height=1 fill=#141100 /><rect x=26 y=13 width=1 height=1 fill=#5d521d /><rect x=26 y=11 width=1 height=1 fill=#d7227e /><rect x=26 y=1 width=1 height=1 fill=#8dae67 /><rect x=26 y=19 width=1 height=1 fill=#acfd2c /><rect x=26 y=2 width=1 height=1 fill=#307dd5 /><rect x=26 y=35 width=1 height=1 fill=#76b559 /><rect x=26 y=4 width=1 height=1 fill=#e6a551 /><rect x=12 y=34 width=1 height=1 fill=#266a0a /><rect x=12 y=16 width=1 height=1 fill=#8bcf44 /><rect x=12 y=13 width=1 height=1 fill=#00caac /><rect x=12 y=3 width=1 height=1 fill=#bb7aa5 /><rect x=12 y=37 width=1 height=1 fill=#3b0559 /><rect x=12 y=27 width=1 height=1 fill=#e82087 /><rect x=12 y=8 width=1 height=1 fill=#b65157 /><rect x=19 y=20 width=1 height=1 fill=#556336 /><rect x=19 y=33 width=1 height=1 fill=#81bca0 /><rect x=19 y=34 width=1 height=1 fill=#65478a /><rect x=19 y=35 width=1 height=1 fill=#256956 /><rect x=19 y=10 width=1 height=1 fill=#c49f9c /><rect x=19 y=12 width=1 height=1 fill=#99bd3d /><rect x=19 y=13 width=1 height=1 fill=#dae45d /><rect x=19 y=36 width=1 height=1 fill=#de28e2 /><rect x=19 y=30 width=1 height=1 fill=#f26ff1 /><rect x=4 y=23 width=1 height=1 fill=#3a31dc /><rect x=4 y=4 width=1 height=1 fill=#d480e7 /><rect x=4 y=24 width=1 height=1 fill=#a304c6 /><rect x=4 y=28 width=1 height=1 fill=#775aeb /><rect x=4 y=16 width=1 height=1 fill=#d942d1 /><rect x=4 y=8 width=1 height=1 fill=#ad6c7e /><rect x=4 y=3 width=1 height=1 fill=#8ef507 /><rect x=4 y=9 width=1 height=1 fill=#c59549 /><rect x=4 y=7 width=1 height=1 fill=#f757fb /><rect x=4 y=35 width=1 height=1 fill=#2db5de /><rect x=20 y=22 width=1 height=1 fill=#340f7b /><rect x=20 y=2 width=1 height=1 fill=#ae6b7c /><rect x=20 y=20 width=1 height=1 fill=#120232 /><rect x=20 y=1 width=1 height=1 fill=#bb534c /><rect x=20 y=11 width=1 height=1 fill=#a736a1 /><rect x=20 y=38 width=1 height=1 fill=#63646f /><rect x=20 y=8 width=1 height=1 fill=#8e2095 /><rect x=20 y=27 width=1 height=1 fill=#2ae2c6 /><rect x=32 y=20 width=1 height=1 fill=#56dc7a /><rect x=32 y=34 width=1 height=1 fill=#ec16ca /><rect x=32 y=19 width=1 height=1 fill=#e2ce80 /><rect x=32 y=21 width=1 height=1 fill=#5c7638 /><rect x=32 y=0 width=1 height=1 fill=#35647c /><rect x=32 y=33 width=1 height=1 fill=#9e174a /><rect x=32 y=5 width=1 height=1 fill=#8217b4 /><rect x=32 y=30 width=1 height=1 fill=#b3e018 /><rect x=32 y=36 width=1 height=1 fill=#90ea3d /><rect x=22 y=29 width=1 height=1 fill=#9d975f /><rect x=22 y=12 width=1 height=1 fill=#b50680 /><rect x=22 y=31 width=1 height=1 fill=#9cd270 /><rect x=22 y=16 width=1 height=1 fill=#05a7f7 /><rect x=22 y=20 width=1 height=1 fill=#f6c4d5 /><rect x=22 y=21 width=1 height=1 fill=#9b0dd8 /><rect x=22 y=22 width=1 height=1 fill=#bc1c9e /><rect x=22 y=26 width=1 height=1 fill=#22b4c3 /><rect x=22 y=36 width=1 height=1 fill=#f54b7b /><rect x=22 y=19 width=1 height=1 fill=#7d3be4 /><rect x=22 y=6 width=1 height=1 fill=#ff9c6f /><rect x=22 y=34 width=1 height=1 fill=#cce01c /><rect x=22 y=30 width=1 height=1 fill=#7c4fd0 /><rect x=22 y=33 width=1 height=1 fill=#c2ef4e /><rect x=25 y=3 width=1 height=1 fill=#35c580 /><rect x=25 y=31 width=1 height=1 fill=#172b52 /><rect x=25 y=39 width=1 height=1 fill=#5e724d /><rect x=25 y=10 width=1 height=1 fill=#f50c4a /><rect x=25 y=4 width=1 height=1 fill=#012808 /><rect x=25 y=33 width=1 height=1 fill=#3a0dc3 /><rect x=25 y=12 width=1 height=1 fill=#2f254a /><rect x=25 y=30 width=1 height=1 fill=#19ff2c /><rect x=25 y=38 width=1 height=1 fill=#4a3112 /><rect x=0 y=1 width=1 height=1 fill=#886f4f /><rect x=0 y=35 width=1 height=1 fill=#0bb010 /><rect x=0 y=0 width=1 height=1 fill=#a7f77e /><rect x=0 y=27 width=1 height=1 fill=#1b38da /><rect x=0 y=39 width=1 height=1 fill=#3788ae /><rect x=0 y=13 width=1 height=1 fill=#af5149 /><rect x=0 y=32 width=1 height=1 fill=#dcb445 /><rect x=0 y=20 width=1 height=1 fill=#36a218 /><rect x=0 y=2 width=1 height=1 fill=#aacbb8 /><rect x=0 y=14 width=1 height=1 fill=#fb17e3 /><rect x=17 y=8 width=1 height=1 fill=#cb2be8 /><rect x=17 y=11 width=1 height=1 fill=#dd80b1 /><rect x=17 y=35 width=1 height=1 fill=#a269aa /><rect x=17 y=6 width=1 height=1 fill=#9faf64 /><rect x=17 y=9 width=1 height=1 fill=#762811 /><rect x=17 y=23 width=1 height=1 fill=#94fa57 /><rect x=17 y=26 width=1 height=1 fill=#9bacc3 /><rect x=17 y=1 width=1 height=1 fill=#93c849 /><rect x=17 y=4 width=1 height=1 fill=#4a9fd4 /><rect x=17 y=22 width=1 height=1 fill=#1fc5f3 /><rect x=17 y=37 width=1 height=1 fill=#76d6a3 /><rect x=17 y=5 width=1 height=1 fill=#a13389 /><rect x=9 y=38 width=1 height=1 fill=#064ba3 /><rect x=9 y=23 width=1 height=1 fill=#cc83ad /><rect x=9 y=25 width=1 height=1 fill=#1de7e8 /><rect x=9 y=3 width=1 height=1 fill=#834afe /><rect x=9 y=9 width=1 height=1 fill=#15a0fb /><rect x=9 y=27 width=1 height=1 fill=#4d54dc /><rect x=9 y=21 width=1 height=1 fill=#2bf614 /><rect x=9 y=28 width=1 height=1 fill=#8080b7 /><rect x=9 y=39 width=1 height=1 fill=#d76a3b /><rect x=9 y=33 width=1 height=1 fill=#f8da2c /><rect x=9 y=26 width=1 height=1 fill=#5884ae /><rect x=7 y=39 width=1 height=1 fill=#a0264b /><rect x=7 y=15 width=1 height=1 fill=#bd87c7 /><rect x=7 y=18 width=1 height=1 fill=#4d4878 /><rect x=7 y=35 width=1 height=1 fill=#1dcc8c /><rect x=7 y=38 width=1 height=1 fill=#76497f /><rect x=7 y=1 width=1 height=1 fill=#87b1ae /><rect x=35 y=24 width=1 height=1 fill=#5d947e /><rect x=35 y=17 width=1 height=1 fill=#eabbdc /><rect x=35 y=19 width=1 height=1 fill=#01c75b /><rect x=35 y=36 width=1 height=1 fill=#06b0dd /><rect x=35 y=21 width=1 height=1 fill=#0fbba8 /><rect x=35 y=1 width=1 height=1 fill=#480be1 /><rect x=35 y=11 width=1 height=1 fill=#3f8ef6 /><rect x=35 y=30 width=1 height=1 fill=#7691d0 /><rect x=35 y=13 width=1 height=1 fill=#c9a286 /><rect x=27 y=12 width=1 height=1 fill=#08083e /><rect x=27 y=25 width=1 height=1 fill=#95d3b4 /><rect x=27 y=30 width=1 height=1 fill=#584c1b /><rect x=27 y=9 width=1 height=1 fill=#c01082 /><rect x=27 y=3 width=1 height=1 fill=#3bf653 /><rect x=27 y=33 width=1 height=1 fill=#c06f23 /><rect x=27 y=38 width=1 height=1 fill=#184c3e /><rect x=27 y=0 width=1 height=1 fill=#725d4c /><rect x=27 y=36 width=1 height=1 fill=#e7a71b /><rect x=27 y=16 width=1 height=1 fill=#43c039 /><rect x=23 y=30 width=1 height=1 fill=#947161 /><rect x=23 y=37 width=1 height=1 fill=#e8a8e5 /><rect x=23 y=12 width=1 height=1 fill=#bd9976 /><rect x=23 y=6 width=1 height=1 fill=#15085d /><rect x=23 y=31 width=1 height=1 fill=#102c95 /><rect x=23 y=24 width=1 height=1 fill=#173bc2 /><rect x=23 y=2 width=1 height=1 fill=#bac13c /><rect x=23 y=36 width=1 height=1 fill=#eb5a88 /><rect x=23 y=22 width=1 height=1 fill=#5ddc38 /><rect x=28 y=19 width=1 height=1 fill=#1ea833 /><rect x=28 y=38 width=1 height=1 fill=#dc6f6b /><rect x=28 y=2 width=1 height=1 fill=#d9fd8a /><rect x=28 y=15 width=1 height=1 fill=#eb213e /><rect x=28 y=22 width=1 height=1 fill=#b23956 /><rect x=28 y=16 width=1 height=1 fill=#875b0a /><rect x=28 y=14 width=1 height=1 fill=#ba6172 /><rect x=28 y=18 width=1 height=1 fill=#b9779a /><rect x=39 y=26 width=1 height=1 fill=#df5e52 /><rect x=39 y=4 width=1 height=1 fill=#aabb4f /><rect x=39 y=2 width=1 height=1 fill=#7ce85c /><rect x=39 y=16 width=1 height=1 fill=#1f70a8 /><rect x=39 y=15 width=1 height=1 fill=#55e398 /><rect x=39 y=29 width=1 height=1 fill=#955213 /><rect x=39 y=33 width=1 height=1 fill=#976c99 /><rect x=39 y=34 width=1 height=1 fill=#a23109 /><rect x=39 y=25 width=1 height=1 fill=#36aeae /><rect x=39 y=9 width=1 height=1 fill=#28a600 /><rect x=39 y=17 width=1 height=1 fill=#771e5b /><rect x=39 y=30 width=1 height=1 fill=#9980b1 /><rect x=31 y=14 width=1 height=1 fill=#8ffea6 /><rect x=31 y=13 width=1 height=1 fill=#d35c5c /><rect x=31 y=39 width=1 height=1 fill=#407beb /><rect x=31 y=10 width=1 height=1 fill=#45ba53 /><rect x=31 y=2 width=1 height=1 fill=#842997 /><rect x=31 y=20 width=1 height=1 fill=#ca47b0 /><rect x=31 y=37 width=1 height=1 fill=#ed098e /><rect x=31 y=5 width=1 height=1 fill=#041b67 /><rect x=31 y=22 width=1 height=1 fill=#4aaaa6 /><rect x=31 y=31 width=1 height=1 fill=#40ccbd /><rect x=31 y=27 width=1 height=1 fill=#6325ca /><rect x=33 y=18 width=1 height=1 fill=#cfbbbc /><rect x=33 y=34 width=1 height=1 fill=#b3f6b8 /><rect x=33 y=26 width=1 height=1 fill=#ef3b82 /><rect x=33 y=16 width=1 height=1 fill=#c7df5b /><rect x=33 y=39 width=1 height=1 fill=#5ad5ba /><rect x=33 y=12 width=1 height=1 fill=#9361fd /><rect x=33 y=35 width=1 height=1 fill=#1f4795 /><rect x=33 y=3 width=1 height=1 fill=#86a80c /><rect x=33 y=17 width=1 height=1 fill=#582008 /><rect x=33 y=9 width=1 height=1 fill=#686941 /><rect x=33 y=36 width=1 height=1 fill=#76ada4 /><rect x=33 y=21 width=1 height=1 fill=#511f50 /><rect x=33 y=14 width=1 height=1 fill=#64aaf7 /><rect x=8 y=28 width=1 height=1 fill=#3de9b7 /><rect x=8 y=24 width=1 height=1 fill=#5c8451 /><rect x=8 y=31 width=1 height=1 fill=#e75b30 /><rect x=8 y=38 width=1 height=1 fill=#4ee9d0 /><rect x=8 y=29 width=1 height=1 fill=#544381 /><rect x=8 y=16 width=1 height=1 fill=#12332f /><rect x=8 y=0 width=1 height=1 fill=#9e775f /><rect x=8 y=34 width=1 height=1 fill=#02224e /><rect x=8 y=1 width=1 height=1 fill=#b299f4 /><rect x=8 y=10 width=1 height=1 fill=#b2bd80 /><rect x=8 y=20 width=1 height=1 fill=#054876 /><rect x=8 y=27 width=1 height=1 fill=#ab273a /><rect x=2 y=30 width=1 height=1 fill=#1bd5f4 /><rect x=2 y=10 width=1 height=1 fill=#b00e99 /><rect x=2 y=9 width=1 height=1 fill=#bf18b0 /><rect x=2 y=8 width=1 height=1 fill=#9aa92b /><rect x=2 y=16 width=1 height=1 fill=#aa7e3d /><rect x=2 y=1 width=1 height=1 fill=#c383ea /><rect x=2 y=24 width=1 height=1 fill=#63ab54 /><rect x=2 y=19 width=1 height=1 fill=#086cac /><rect x=2 y=0 width=1 height=1 fill=#4510cc /><rect x=2 y=6 width=1 height=1 fill=#7b529c /><rect x=6 y=27 width=1 height=1 fill=#fcc946 /><rect x=6 y=20 width=1 height=1 fill=#0a7324 /><rect x=6 y=26 width=1 height=1 fill=#d93cc2 /><rect x=6 y=14 width=1 height=1 fill=#c8d410 /><rect x=6 y=33 width=1 height=1 fill=#0e5b22 /><rect x=6 y=1 width=1 height=1 fill=#e2accf /><rect x=6 y=2 width=1 height=1 fill=#06064a /><rect x=6 y=39 width=1 height=1 fill=#fae1de /><rect x=6 y=30 width=1 height=1 fill=#db50d3 /><rect x=6 y=15 width=1 height=1 fill=#59b1c5 /><rect x=6 y=16 width=1 height=1 fill=#a0178a /><rect x=16 y=29 width=1 height=1 fill=#1eb287 /><rect x=16 y=31 width=1 height=1 fill=#5fa9b0 /><rect x=16 y=36 width=1 height=1 fill=#918835 /><rect x=16 y=2 width=1 height=1 fill=#d46404 /><rect x=16 y=1 width=1 height=1 fill=#31808e /><rect x=16 y=15 width=1 height=1 fill=#22d652 /><rect x=10 y=25 width=1 height=1 fill=#94f771 /><rect x=10 y=14 width=1 height=1 fill=#e3a90a /><rect x=10 y=4 width=1 height=1 fill=#7fbdb3 /><rect x=10 y=32 width=1 height=1 fill=#d71f68 /><rect x=10 y=10 width=1 height=1 fill=#f3dcd7 /><rect x=10 y=27 width=1 height=1 fill=#cadd64 /><rect x=10 y=31 width=1 height=1 fill=#3c38c0 /><rect x=10 y=34 width=1 height=1 fill=#542641 /><rect x=10 y=19 width=1 height=1 fill=#e17ef2 /><rect x=10 y=24 width=1 height=1 fill=#676729 /><rect x=10 y=11 width=1 height=1 fill=#619f8e /><rect x=10 y=0 width=1 height=1 fill=#1576eb /><rect x=10 y=16 width=1 height=1 fill=#52854c /><rect x=36 y=2 width=1 height=1 fill=#fe133c /><rect x=36 y=31 width=1 height=1 fill=#b67ea7 /><rect x=36 y=7 width=1 height=1 fill=#92babc /><rect x=36 y=16 width=1 height=1 fill=#fc24a0 /><rect x=36 y=26 width=1 height=1 fill=#a80f75 /><rect x=36 y=15 width=1 height=1 fill=#5ddb90 /><rect x=18 y=13 width=1 height=1 fill=#64180c /><rect x=18 y=9 width=1 height=1 fill=#d67c04 /><rect x=18 y=18 width=1 height=1 fill=#3e0988 /><rect x=18 y=4 width=1 height=1 fill=#072b32 /><rect x=18 y=34 width=1 height=1 fill=#723cab /><rect x=18 y=14 width=1 height=1 fill=#560f7d /><rect x=18 y=29 width=1 height=1 fill=#4a7dd0 /><rect x=18 y=30 width=1 height=1 fill=#db0cfc /><rect x=18 y=16 width=1 height=1 fill=#f79bbf /><rect x=14 y=18 width=1 height=1 fill=#e45cec /><rect x=14 y=4 width=1 height=1 fill=#05b63c /><rect x=14 y=38 width=1 height=1 fill=#ee0251 /><rect x=14 y=14 width=1 height=1 fill=#12fb9f /><rect x=14 y=17 width=1 height=1 fill=#f8fbc9 /><rect x=14 y=22 width=1 height=1 fill=#58e112 /><rect x=14 y=1 width=1 height=1 fill=#a5bc5c /><rect x=14 y=10 width=1 height=1 fill=#3c6002 /><rect x=14 y=5 width=1 height=1 fill=#556f7a /><rect x=14 y=36 width=1 height=1 fill=#ccfaa9 /><rect x=14 y=15 width=1 height=1 fill=#2a8597 /><rect x=1 y=28 width=1 height=1 fill=#899272 /><rect x=1 y=29 width=1 height=1 fill=#be4da2 /><rect x=1 y=6 width=1 height=1 fill=#cbe1a5 /><rect x=1 y=1 width=1 height=1 fill=#8aebd4 /><rect x=1 y=31 width=1 height=1 fill=#547b9e /><rect x=1 y=10 width=1 height=1 fill=#ba7996 /><rect x=1 y=34 width=1 height=1 fill=#e29661 /><rect x=1 y=0 width=1 height=1 fill=#899d3f /><rect x=1 y=4 width=1 height=1 fill=#6993f0 /><rect x=1 y=13 width=1 height=1 fill=#119a7c /><rect x=1 y=15 width=1 height=1 fill=#e7c61c /><rect x=1 y=17 width=1 height=1 fill=#6e8770 /><rect x=1 y=36 width=1 height=1 fill=#cdda71 /><rect x=5 y=8 width=1 height=1 fill=#318f52 /><rect x=5 y=34 width=1 height=1 fill=#763499 /><rect x=5 y=37 width=1 height=1 fill=#5d0d72 /><rect x=5 y=0 width=1 height=1 fill=#97c9e7 /><rect x=5 y=12 width=1 height=1 fill=#babcca /><rect x=5 y=20 width=1 height=1 fill=#37d5cb /><rect x=5 y=31 width=1 height=1 fill=#642296 /><rect x=5 y=24 width=1 height=1 fill=#a6688c /><rect x=5 y=1 width=1 height=1 fill=#697956 /><rect x=29 y=32 width=1 height=1 fill=#b53b61 /><rect x=29 y=7 width=1 height=1 fill=#d131a3 /><rect x=29 y=18 width=1 height=1 fill=#0e082e /><rect x=29 y=17 width=1 height=1 fill=#8ca3dd /><rect x=29 y=11 width=1 height=1 fill=#376e46 /><rect x=29 y=20 width=1 height=1 fill=#11e2cf /><rect x=29 y=37 width=1 height=1 fill=#24b8de /><rect x=24 y=10 width=1 height=1 fill=#a906da /><rect x=24 y=36 width=1 height=1 fill=#ae0516 /><rect x=24 y=8 width=1 height=1 fill=#e0b9b1 /><rect x=24 y=27 width=1 height=1 fill=#29b27b /><rect x=24 y=33 width=1 height=1 fill=#78ea3e /><rect x=24 y=7 width=1 height=1 fill=#e5147e /><rect x=24 y=11 width=1 height=1 fill=#ce7084 /><rect x=24 y=23 width=1 height=1 fill=#78f645 /><rect x=24 y=25 width=1 height=1 fill=#a01f02 /><rect x=24 y=4 width=1 height=1 fill=#e4340c /><rect x=24 y=16 width=1 height=1 fill=#9b69d7 /><rect x=21 y=31 width=1 height=1 fill=#58ca7d /><rect x=21 y=39 width=1 height=1 fill=#037cb5 /><rect x=21 y=36 width=1 height=1 fill=#097454 /><rect x=21 y=28 width=1 height=1 fill=#71d744 /><rect x=21 y=38 width=1 height=1 fill=#10457c /><rect x=15 y=2 width=1 height=1 fill=#f4bf09 /><rect x=15 y=7 width=1 height=1 fill=#90357d /><rect x=15 y=27 width=1 height=1 fill=#6079ba /><rect x=15 y=5 width=1 height=1 fill=#cff723 /><rect x=15 y=17 width=1 height=1 fill=#54a6db />


2

Windows의 C ++, 125 바이트

#include<Windows.h>
#include<ctime>
#define r rand()%256
int main(){for(srand(time(0));;)SetPixel(GetDC(0),r,r,RGB(r,r,r));}

줄 바꿈이 필요하며 바이트 수에 포함됩니다.

영원히 반복하고, 행 및 열 값에 대해 0에서 255 사이의 위치를 ​​임의로 선택하고 (0부터 255 사이) 임의의 R, G, B 값을 할당합니다


1
나는 당신이 이것을 골프화 하고 있다는 것을 알고 있지만 , 루프를 통해 매번 장치 컨텍스트가 누출되는 사람은 실제로 내 욕심을 유발합니다!
코디 그레이

C 컴파일러를 사용하면 #includes 를 생략 할 수 있으므로 Windows에서 C ++ 대신 Windows에서 C를 만들어 15 바이트를 절약하십시오 . (그렇습니다. Windows 용 비 Visual Studio C 컴파일러가 있습니다.)
MD XF

2

Python 3.6 + Tkinter, 281 바이트

from tkinter import*
from random import*
from threading import*
a=randrange
x=40
d={"width":x,"height":x}
w=Tk()
c=Canvas(w,**d)
c.pack()
i=PhotoImage(**d)
c.create_image((20,20),image=i)
def r():
 while 1:i.put(f"{a(0,0xffffff):0>6f}",(a(0,x),a(0,x)))
Thread(r).start()
mainloop()

tkinter표준 라이브러리와 마찬가지로 헤더에 포함 할 필요가 없습니다
caird coinheringaahing

Windows 10, Python 3.6.0과 동일한 오류가 발생합니다. init 에 4 개의 전달 된 매개 변수가 표시되는 이유를 추측 할 수 있습니다. 이 메소드에는 "self"매개 변수가 내재적으로 전달됩니다. 그러나 문서에서 Canvas 생성자가 코드에 표시된 것처럼 세 가지 매개 변수 (master, x, y)를 허용한다는 것을 보여 주므로 오류가 발생하는 이유를 모르겠습니다.
CCB60

지금 수정해야합니다.
Martmists

1
또한 @Ilikemydog Tkinter가 항상 stdlib에있는 것은 아닙니다. Windows에서는 설치할 때 선택 사항이며 아치 파티션에 Tkinter가 설치되어 있다고 생각하지 않습니다. 포함 할 수도 있습니다.
Martmists

"i"대신 "img"입니다. 그래도 작동하지 않습니다. 이번에는c.create_image((20,20),i) File "C:\Python36\lib\tkinter\__init__.py", line 2483, in create_image return self._create('image', args, kw) File "C:\Python36\lib\tkinter\__init__.py", line 2474, in _create *(args + self._options(cnf, kw)))) _tkinter.TclError: unknown option "pyimage1"
Mikhail V

2

자바 스크립트 (ES7) + SVG를 사용한 HTML, 129 + 10 = 139 바이트

@Octopus의 <canvas>접근 방식 에서 크게 영감을 얻은 SVG 버전 .

JS

r=n=>n*Math.random()|0
setInterval('s.innerHTML+=`<rect x=${r(40)} y=${r(40)} fill=#${r(2**24).toString(16)} width=1 height=1>`')

HTML

<svg id=s>

스택 스 니펫은 <rect>태그 를 파싱하여 스크립트를 깨뜨리는 것을 좋아 하므로 CodePen 입니다.


2

6502 어셈블리, 92 바이트

loo: lda $fe
sta $00
lda $fe
and #$3
clc
adc #$2
sta $01
lda $fe
ldy #$0
sta ($00),y
jmp loo

산출:

산출

설명:

loop: lda $fe       ; accumulator = random
      sta $00       ; store accumulator
      lda $fe       ; accumulator = random
      and #$3       ; accumulator &= 3
      clc           ; clear carry
      adc #$2       ; accumulator += 2
      sta $01       ; store accumulator
      lda $fe       ; accumulator = random
      ldy #$0       ; register Y = 0
      sta ($00),y   ; store register Y
      jmp loop      ; loop

1
yoiur target 6502 플랫폼은 무엇입니까? BBC 마이크로? 사과 ][? 코모도어 VIC-20 등 ...?
Shaun Bebbers

라벨 이름은 3 자 이상이어야합니까?
Jonathan Frech

2

로고, 71 바이트

내가 아는 유일한 언어는 난해하거나 특별히 코드 골프를 위해 설계되지 않았으며 forever기능을 가지고 있다는 것입니다. 그 map부분 에 대한 아이디어가 있습니까?

pu forever[setxy random 100 random 100 setpixel map[random 256][1 1 1]]

2

shortC , 66 56 바이트

Dr rand()
AOZR"\e[%d;%dH\e[%d;4%dm ",r%40,r%40,r%2,r%8);

닥터 랜드 덕분에 -10 바이트. :피

A                                                                  main function
 O                                                                 for
  Z                                                                seed rand()
   R                                                               print
    "\e[%d;%dH                                                     coordinate placeholder string
              \e[%d;4%dm "                                         color placeholder string
                          ,rand()%40,rand()%40,rand()%2,rand()%8   fill placeholders
                                                                ); interpreter hole

온라인에 필요한 종류의 터미널로 인쇄 할 수 없기 때문에 TIO 링크가 없습니다.


2

Perl (* nix에서), 69 바이트

\x1b의 리터럴 이스케이프 문자입니다.

stty명령에 의존하고 OS X에서 잘 작동합니다.

{printf"\x1b[%i;%iH\x1b[48;5;%im ",map{rand$_}`stty size`=~/\d+/g,256;redo}

다른 접근 방식과 비슷하지만 모든 매개 변수를 한 번의 호출로 결합하여 printf공유한다고 생각했습니다. 터미널을 죽입니다.

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


두 배 많은 픽셀, 83 바이트

{printf"\x1b[%i;%iH\x1b[48;5;%i;38;5;%im▄",map{rand$_}`stty size`=~/\d+/g,256,256;redo}

이 방법은 유니 코드 블록 과 더 정사각형 픽셀을 제공하는 임의의 전경색 및 배경색을 사용합니다. 터미널도 죽이지 만 더 시원해 보입니다.

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


대신 리터럴 이스케이프 바이트 ASCII 0x1B (27)를 사용할 수 있습니다 \e. 그리고 StackExchange에서 이는로 표시 될 수 있습니다 .
MD XF

@MDXF 그래 ... 나는 그것을 통해 작동하지 않기 때문에 스크립트로 테스트해야합니다 -e! 또한 유니 코드로 바이트 수를 늘려야합니다. 죄송합니다! 알림 주셔서 감사합니다!
돔 헤이스팅스

2

배쉬, 104 바이트

\e의 리터럴 이스케이프 문자입니다.

이것들은 내 Perl 제출의 번역과 거의 비슷하지만 bash 포크 폭탄 스타일 구문을 사용합니다! 디스플레이에 직접 쓰는 다른 bash 항목만큼 영리하지는 않습니다.

:(){ printf "\e[%i;%iH\e[48;5;%im " $((RANDOM%`tput lines`)) $((RANDOM%`tput cols`)) $((RANDOM%256));:;};:

더 많은 픽셀, 130 바이트

내 Perl 답변과 마찬가지로 전경에 유니 코드 문자를 사용하고 각 픽셀의 배경에도 색상을 지정합니다.

:(){ printf "\e[%i;%iH\e[48;5;%i;38;5;%im▄" $((RANDOM%`tput lines`)) $((RANDOM%`tput cols`)) $((RANDOM%256)) $((RANDOM%256));:;};:

나쁘지 않다. 그러나 여전히을 이해하지 못합니다 "\e[48;5;%im". 48과 5가 왜 필요한가요?
MD XF

표준 16 색 팔레트가 아닌 전체 256 색에 액세스 할 수 있습니다. 이를 지원하는 터미널에서는 사용할 수 \e[48;2;RRR;GGG;BBBm있지만 터미널 에뮬레이터는 거의 지원하지 않습니다 ... :(
Dom Hastings

성스러운 어머니 .... 그럴 줄은 몰랐습니다. 내 인생은 거짓말이야 감사 만 : P
MD XF

@MDXF ^^ 또한 38;5전경을 48;5나타내며 배경을 장식합니다. misc.flogisoft.com/bash/tip_colors_and_formatting
Dom Hastings

1
@MDXF 걱정 마세요! 기쁘다! 부끄러운 일이지만 새것 일 때 이것을 놓쳤습니다.
돔 헤이스팅스

2

IBM PC 용 x86 기계 언어 (실제 모드), 20 19 바이트

 0:       b8 12 00                mov    $0x12,%ax
 3:       31 db                   xor    %bx,%bx
 5:       cd 10                   int    $0x10
 7:       0f c7 f0                rdrand %ax
 a:       88 e1                   mov    %ah,%cl
 c:       0f c7 f2                rdrand %dx
 f:       b4 0c                   mov    $0xc,%ah
11:       eb f2                   jmp    0x5

이를 위해서는 rdrand명령어 가있는 프로세서와 VGA 어댑터 (실제 또는 에뮬레이션)가 필요합니다. 위의 내용은 부트 블록 또는 MS-DOS * .COM 파일로 복사 할 수 있습니다.

이것을 시도하려면 다음을 컴파일하고 출력을 파일과 같은 파일에 저장하고 floppy.img가상 머신에서 이미지를 부팅하십시오.

#include<stdio.h>
#include<string.h>
#include<unistd.h>
int main(){
  char buffer[ 1440*1024 ];
  memcpy( buffer, "\xb8\x12\x00\x31\xdb\xcd\x10\x0f\xc7\xf0\x88\xe1\x0f\xc7\xf2\xb4\x0c\xeb\xf2", 20 );
  memcpy( buffer + 510, "\x55\xaa", 2 );
  write( 1, buffer, sizeof buffer );
}

2

슈퍼 칩 (48) ?, 12 바이트

0x00FF 'enter high resolution mode (64x128 pixels)
0xA209 'set I to 0x209 (second byte of draw instruction)
0xC03F 'set register 0 to a random number from 0 to 63
0xC13F 'set register 1 to a random number from 0 to 63
0xD101 'draw a sprite. x=register 1, y=register 0, height=1
0x1204 'jump to third instruction

정확한 이름을 모르지만 40x40 픽셀 제한으로 인해 일반 Chip-8 대신 이것을 사용해야했습니다.


이 (매우 흥미로운) 언어에 연결 하시겠습니까?
MD XF

Octo 에뮬레이터를 사용할 수 있습니다 : johnearnest.github.io/Octo
12Me21

2

QBIC , 34 바이트

screen 12{pset(_r640|,_r480|),_r16

불행히도 QBIC은 SCREEN기본적으로 모드를 설정하지 않으므로 일부 바이트를 소비합니다. PSETQBIC의 기본 그래픽 컨텍스트에서 잘못된 명령입니다.

설명

screen 12           Set the screen to a mode supporting (colored) graphics
{                   DO until the compiler is killed by ctrl-scroll lock
pset                PSET is a QBasic command to set one pixel
(_r640|,_r480|)     it takes a set of coords (x, y) which QBIC chooses at random with _r
,_r16               and a color (1,16)

샘플 출력

@Anonymous가 QBIC rnd()기능 에서 오류를 발견했습니다 . 아래 출력을 제공하는 수정. 감사!

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


스크린 샷에서 알 수 있듯이 솔루션은 임의 조건을 만족하지 않습니다. 좌표가 주어지면 모든 색상이 똑같이 가능성이없고 색상이 주어지면 모든 좌표가 똑같이 가능성이있는 것은 아닙니다. 그것들은 서로 밀접하게 관련되어 있으며 그것을 가볍게하고 있습니다. 문제는 사용중인 난수 생성기입니다. 난수 FUNCTION getRandomNumber! (Bottom!, Top!) ↵ RANDOMIZE TIMER 'this sets the random number generator ↵ IF Bottom > Top THEN ... END IF ↵ getRandomNumber = INT((Top - Bottom + 1) * RND + Bottom) ↵ END FUNCTION는 현재 시간의 해시입니다.
Anonymous

@Anonymous 이제 수정되었습니다. 감사합니다!
steenbergh

2

6502 어셈블리, 582 바이트

휴, 이것은 재미 있었다. Applesoft BASIC 솔루션과 거의 동일합니다.

start:
lda #15
sta $0
sta $1
loo:
lda $fe
and #3
cmp #0
beq g_l
cmp #1
beq g_r
cmp #2
beq g_d
dec $1
d_w:
lda $1
and #$1f
asl
tax
lda ypo,x
sta $2
inx
lda ypo,x
sta $3
lda $0
and #$1f
tay
lda ($2),y
tax
inx
txa
sta ($2),y
jmp loo
g_d:
inc $1
jmp d_w
g_l:
dec $0
jmp d_w
g_r:
inc $0
jmp d_w
ypo:
dcb $00,$02,$20,$02,$40,$02,$60,$02
dcb $80,$02,$a0,$02,$c0,$02,$e0,$02
dcb $00,$03,$20,$03,$40,$03,$60,$03
dcb $80,$03,$a0,$03,$c0,$03,$e0,$03
dcb $00,$04,$20,$04,$40,$04,$60,$04
dcb $80,$04,$a0,$04,$c0,$04,$e0,$04
dcb $00,$05,$20,$05,$40,$05,$60,$05
dcb $80,$05,$a0,$05,$c0,$05,$e0,$05

이것은 다른 6502 어셈블리 답변 의 ungolfed 버전 입니까? :-)
코디 그레이

@CodyGray 아니요, 조금 다르게 작동합니다. 내 Applesoft BASIC 답변과 비슷하며 (임의의 보행 사용) 다른 6502 어셈블리 답변은 다른 모든 답변과 비슷합니다.
MD XF

바이트 수에 동의하지 않습니다. 이것은 어셈블리의 583 바이트보다 짧습니까?
Olivier Dulac

@OlivierDulac tio.run/##Zc/… ?
MD XF

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