แสดงพิกเซลสีแบบสุ่ม


47

ฉันชอบหน้าจอที่เต็มไปด้วยพิกเซลสีแบบสุ่มเสมอ พวกเขาน่าสนใจที่จะดูและโปรแกรมที่ดึงดูดพวกเขาดูสนุก

ความท้าทาย

เติมหน้าจอของคุณหรือหน้าต่างกราฟิกที่มีพิกเซลสี

กฎระเบียบ

  • โปรแกรมของคุณจะต้องมีโอกาสในการเลือกสีทั้งหมด (เช่นในช่วง#000000ถึง#FFFFFF) หรือสีทั้งหมดที่สามารถแสดงบนระบบของคุณ
  • โปรแกรมของคุณต้องแสดงพิกเซลแบบสุ่มต่อไปจนกว่าจะหยุดเอง (มันไม่สามารถยุติได้ด้วยตนเอง)
  • พิกเซลสามารถมีขนาดใดก็ได้ตราบใดที่เอาต์พุตของคุณมีอย่างน้อย40x40 "พิกเซล"
  • โปรแกรมของคุณต้องทำงานด้วยความเร็วที่สามารถแทนที่ทุกพิกเซลบนหน้าจอ / หน้าต่างอย่างน้อยหนึ่งครั้งหลังจากทำงานเป็นเวลาสามนาที
  • โปรแกรมของคุณจะต้องเลือกสีและจุดสุ่มอย่างแท้จริงเพื่อแทนที่เช่นการสุ่มด้วยคะแนน / สีทั้งหมดที่มีโอกาสเท่ากัน มันไม่สามารถดูสุ่ม ต้องใช้ pRNG หรือดีกว่าและเอาต์พุตไม่สามารถเหมือนเดิมทุกครั้ง
  • โปรแกรมของคุณจะต้องมีโอกาสเท่าเทียมกันของการเลือกทุกสีแต่ละซ้ำ
  • โปรแกรมของคุณต้องแทนที่หนึ่งพิกเซลพร้อมกัน
  • โปรแกรมของคุณไม่สามารถใช้อินเทอร์เน็ตหรือระบบไฟล์ของคุณ ( /dev/randomและ/dev/urandomยกเว้น)

ตัวอย่าง

ผลลัพธ์ของคุณอาจมีลักษณะเช่นนี้หากหยุดในเวลาสุ่ม:

ผู้ชนะ

คำตอบที่สั้นที่สุดในแต่ละภาษาชนะ มีความสุข!


โดย "random random" ฉันถือว่า pseudorandom นั้นใช้ได้ (เช่น Math.random () หรือคล้ายกัน)
OldBunny2800

@ OldBunny2800It must use a pRNG or better
TheLethalCoder

เนื่องจากโปรแกรมไม่สามารถใช้อินเทอร์เน็ตฉันจะทิ้งมันไว้ในความคิดเห็น: babelia.libraryofbabel.info/slideshow.html
KSmarts

1
ดังนั้น "ขีด จำกัด 3 นาที" จึงใช้กับเวลาในการตั้งค่าเช่นกัน? หรือเพียงแค่ครั้งเดียวที่ "โปรแกรม" เริ่มต้นขึ้น ถามเพราะฉันมีวิธีแก้ปัญหา Minecraft Redstone ซึ่งทำงานเร็วมากเมื่อมันเกิดขึ้น แต่ใช้เวลาสักครู่ในการตั้งค่าเริ่มต้น (ต้อง "วาง" แต่ละ "พิกเซล" ในตาราง 40x40) ก่อนที่จะสามารถเปลี่ยนสีได้
BradC

5
การสุ่มอย่างแท้จริงตามคำจำกัดความไม่รวมหลอก -สุ่ม แต่ยังไม่ได้กำหนดการกระจาย ฉันถือว่าคุณหมายถึงPRNG ที่เหมือนกันซึ่งเหตุการณ์ทั้งหมดเป็นสิ่งที่สวมใส่ได้และเป็นอิสระจากกัน
Dennis

คำตอบ:


85

Minecraft 1.12 บล็อกคำสั่ง Redstone, 4,355 2,872 bytes

ภาพหน้าจอ Minecraft พร้อมแท่นวางและแผนที่

(ขนาดถูกกำหนดโดยขนาดไฟล์บล็อกโครงสร้างที่บันทึกไว้)

นี่คือภาพรวมของ YouTube แบบเต็มแต่ฉันจะลองร่างโค้ดด้านล่าง

ประจำการตั้งค่า:

บล็อกคำสั่ง 2 แถวสำหรับการตั้งค่า

ชุดนี้สร้างตาราง Minecraft ขนาด 40 x 40 ตั้งอยู่ แผงเกราะมีความจำเป็นเพราะ Minecraft ไม่มีวิธีใดที่จะทดแทนตัวแปรในพิกัดโลกได้ ดังนั้นวิธีแก้ปัญหาคือการอ้างถึงตำแหน่งของเอนทิตี้ของชุดเกราะเหล่านี้

(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

แท่นวางเกราะที่มีชื่อนี้นั้นเป็น "เคอร์เซอร์" ของเราเพื่อวางเกราะทั้งหมดที่เราต้องการ บล็อก Redstone ใน "พลัง" ขั้นตอนสุดท้ายที่อยู่ใกล้เคียงบล็อก (รวมถึงบล็อกคำสั่งของเรา) ดังนั้นจะเริ่มจากวนรอบถัดไป:

(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 อันสำหรับแต่ละสีขน ภายใต้สีที่เลือกจะวางบล็อก redstone (ซึ่งให้อำนาจบล็อกคำสั่งทั้งสองด้านใดด้านหนึ่ง)

ตัวเลือกพิกเซลแบบสุ่ม

การวางบล็อก Redstone ไว้ใต้สีขนสัตว์ที่เลือกจะทำให้เกิดบล็อกคำสั่งอีกสองตัว:

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

บรรทัดแรกนี้ใช้คำสั่งmagic @rเดียวกันของเราเพื่อเลือกชุดเกราะใด ๆ บนแผนที่ทั้งหมด (ไม่มีการ จำกัด รัศมีดังนั้นจึงมีตาราง 40x40) และวางขนสีที่เลือกไว้เหนือหัว X กำหนดสีและช่วงจาก 0 ถึง 15 คำสั่งที่สองลบบล็อก redstone เพื่อให้พร้อมที่จะไปอีกครั้ง

ฉันมีบล็อคทวนสีม่วง 5 บล็อคและการจับกลุ่มใหม่ทำงานเป็น "เห็บ" 20 ครั้งต่อวินาทีดังนั้นฉันจึงวาง 100 พิกเซลต่อวินาที (ลบด้วยสีทับซ้อนกัน) ฉันหมดเวลาแล้วและฉันมักจะได้รับกริดทั้งหมดครอบคลุมในเวลาประมาณ 3 นาที

สนุกดีฉันจะพยายามมองหาความท้าทายอื่น ๆ ที่อาจใช้ได้ใน Minecraft ขอบคุณมากที่ lorgon111 ของเขาชุดกวดวิชา YouTube สั่งบล็อก

แก้ไข: ทำการลดขนาดร้ายแรงของโครงสร้างที่บันทึกไว้ตอนนี้ที่ 2,872 ไบต์ที่บันทึกไว้ :

บล็อกคำสั่งที่ใกล้ชิดกับบล็อกโมฆะที่มองเห็นได้

  1. สิ่งที่ scooted เล็กน้อย (ในทั้งสามมิติ) ดังนั้นฉันสามารถลดขนาดโดยรวมของพื้นที่ที่บันทึกไว้
  2. เปลี่ยนขนสีที่แตกต่างกันเป็นหินพวกเขาเพิ่งได้รับการตกแต่ง
  3. นำหลอดไฟเรืองแสงออก
  4. เปลี่ยนบล็อคอากาศทั้งหมดเป็นโมฆะบล็อค (สี่เหลี่ยมสีแดง)

ทดสอบโดยการดึงโครงสร้างที่บันทึกไว้ในโลกใหม่ทุกอย่างยังคงทำงานตามที่ออกแบบไว้

แก้ไข 2 : ลิงก์ดรอปบ็อกซ์แบบอ่านอย่างเดียวไปยังไฟล์โครงสร้าง NBT

การเดินผ่านอยู่ในวิดีโอ 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" เปิด "รวมเอนทิตี" ON และคลิก "โหลด"
  7. หากพบไฟล์โครงสร้างมันจะแสดงตัวอย่างเค้าร่าง คลิกขวาอีกครั้งและคลิก "โหลด" เพื่อนำโครงสร้างมาสู่โลก
  8. กดปุ่มเพื่อเรียกใช้รูทีนการตั้งค่า
  9. เมื่อเสร็จสิ้นให้พลิกสวิตช์เพื่อเรียกใช้การสุ่มขน

6
อึศักดิ์สิทธิ์ ... คุณทำจริงแล้ว และมันเป็นคำตอบแรกของคุณว้าว! ยินดีต้อนรับสู่เว็บไซต์และนี่คือวิธีเริ่มต้นที่น่าทึ่ง !
MD XF

2
@MDXF นอกเหนือจาก +10 ของคุณแล้วฉันให้ +60
NoOneIsHere

2
@NoOneIsHere เอาล่ะ: 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 หรือไม่? : D

น่าเสียดายที่จำเป็นต้องมี pix_fmt เนื่องจาก ffmpeg มีค่าเริ่มต้นเป็น yuv420p ที่ล้มเหลวข้อกำหนด "จะต้องมีโอกาสเท่ากันทุกสีพิกเซลที่เป็นไปได้" สะดวกสบายcifเป็นทางลัดสำหรับขนาดวิดีโอที่ค่อนข้างใหญ่ซึ่งใช้พื้นที่น้อยกว่า "40x40"

ไม่น่าแปลกใจที่การเพิ่มประสิทธิภาพ gif นี้ด้วย gifsicle ไม่ได้ทำอะไรเลยอย่างแน่นอน มันคือ 4MiB


3
สิ่งนี้ " แทนที่เพียงหนึ่งพิกเซลพร้อมกัน " หรือไม่
Scott Milner

1
เทคนิค? ffmpeg จะรอให้เฟรมเต็มพิกเซลก่อนที่จะแสดง ฉันอ่านผิด "ต้องเปลี่ยนครั้งละ 1 พิกเซล" เป็น "พฤษภาคม" : /
Una

1
และแน่นอนว่า gifsicle ไม่สามารถบันทึกไบต์ใด ๆ ใน gif: ไม่มีวิธีการบีบอัดข้อมูลโดยพลการและพิกเซลแบบสุ่มทั้งหมดจะถูกจัดเรียงอย่างโกลาหลซึ่งหมายความว่าวิธีการเข้ารหัสที่มีประสิทธิภาพที่สุดคือครั้งละหนึ่งพิกเซล Numberphile (ฉันคิดว่า?) มีวิดีโอเกี่ยวกับ "ข้อมูลคืออะไร" และมีเสียงรบกวนแบบสุ่มเพื่อรบกวนการบีบอัดของ YouTube โดยเจตนา VSauce มีวิดีโอเกี่ยวกับการบีบอัดวิดีโอที่จุดหนึ่งเช่นกัน แต่ฉันลืมสิ่งที่เรียกว่า
Draco18s

2
@ Draco18s ฉันรู้ว่าข้อความเกี่ยวกับการบีบอัดนั้นทำให้ฉันสนุกกับการพยายามใช้ gifsicle อยู่ดี
Una

2
Gifsicle เป็นเครื่องมือที่ผิด Precompทำให้มันลดลงจาก 4 MB เป็น 3 MB :) นั่นเป็นเพราะอัลกอริธึม GIF ขยายการสุ่มแทนการบีบอัดและ Precomp กลับรายการนี้
schnaader

17

C บน POSIX, 98 96 95 92 ไบต์

-3 ขอบคุณ Tas

#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 !!!

ว้าวนั่นดูเหมือนเกือบสามมิติ ...


มันขาดการ;คอมไพล์อย่างถูกต้อง แต่ดูเหมือนว่าจะทำงานได้ดีกว่านั้น! 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) ไบต์

ขอบคุณลุคและผู้แสดงความคิดเห็นคนอื่น ๆ ที่ช่วยฉันประหยัดจำนวนไบต์

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
ที่จริง<canvas id=c>ควรจะเพียงพอเพราะฉันคิดว่าขนาดเริ่มต้นสำหรับcanvasองค์ประกอบคือ300 x 150 pxและเกิน "ขนาดวิวพอร์ต" ของ99 x 99 pxคุณ อย่างไรก็ตามทางออกที่ดี
insertusernamehere

1
@insertusername ที่นี่ใช่ขอบคุณ
Octopus

1
ไม่ทำงานใน Firefox เลย ใช้งานได้ใน Chrome
ETHproductions

1
ตกลงตกลงฉันเข้าใจแล้ว บันทึก 2 2dไบต์โดยทำข (ไม่แน่ใจว่าจะจัดรูปแบบนี้อย่างไร แต่ถ้า "2d" เป็นแม่แบบตัวอักษรมันไม่จำเป็นต้องใช้วงเล็บ) (ลบคำแนะนำก่อนหน้าของฉัน)
Rick Hitchcock

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 ออนไลน์ ฉันเพิ่มการหยุดชั่วคราวครึ่งวินาที ( .5Y.) ลงในเวอร์ชันนี้

ป้อนคำอธิบายรูปภาพที่นี่

คำอธิบาย

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

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จะมีการจัดสรร RAM 15 KB เพื่อ "เก็บที่คั่นหน้า" ในโปรแกรมหลัก สิ่งนี้จะทำงานได้ดีบนเครื่องคิดเลข "เชิงทฤษฎี" กับ RAM ที่ไม่มีที่สิ้นสุด แต่ถ้าเราต้องการให้มันรันบนเครื่องคิดเลขจริงอย่างไม่มีกำหนดเราสามารถห่อมันWhile 1วนเป็นวงกลมเพื่อเพิ่ม2ไบต์:

:While 1
:...
:End

เครื่องคิดเลขตระกูล TI-83 พร้อมหน้าจอสี (TI 84 + CE และ CSE) รองรับ 15 สี พวกเขามีรหัสสีผ่าน10 24สิ่งนี้จะวนพิกเซลทั้งหมดใน5!สี่เหลี่ยมจัตุรัส120 x 120 ( ) และกำหนดแต่ละสีแบบสุ่ม

ผลลัพธ์:

ป้อนคำอธิบายรูปภาพที่นี่


Yay อีกคำตอบพื้นฐาน! เพียงเพื่อให้แน่ใจว่าจะทำงานนี้ตลอดไป?
MD XF

@MDXF ตอนนี้มันทำ! ;-) พลาดส่วนนั้นเป็นครั้งแรก +5 ไบต์
Scott Milner

คุณสามารถสร้างลูปสำหรับเริ่มต้นที่ 0 หากคุณต้องการครอบคลุม 100x100 พิกเซล
kamoroso94

@ kamoroso94 อาจริง ฉันสามารถทำได้5!ถ้าฉันต้องการ 120 พิกเซล
Scott Milner

2
@MDXF TI-BASICเป็นtoken-based Ie For(คือ 1 byte Pxl-On(คือ 1 byte randInt(คือ 2 bytes และอื่น ๆ
Scott Milner

5

MATLAB, 56 ไบต์

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

ผลลัพธ์ดูเหมือนภาพด้านล่าง การเปลี่ยนแปลง "พิกเซล" หนึ่งครั้งและการเปลี่ยนแปลงเพียงหนึ่งสี RGB

ทำไม? สีใน MATLAB แสดงเป็นเมทริกซ์สามมิติหนึ่งเลเยอร์สำหรับ R, G และ B รหัสข้างต้นเปลี่ยนเพียงหนึ่งเลเยอร์ต่อการวนซ้ำ พิกเซลทั้งหมดและเลเยอร์ทั้งหมดสามารถเปลี่ยนแปลงได้ดังนั้นหากคุณรอสักครู่สีทั้งหมดอาจเท่ากันในทุกตำแหน่ง

เพิ่มpause(t)ภายในลูปเพื่อหยุดชั่วคราวtวินาทีระหว่างแต่ละภาพ

คุณต้องหยุดมันด้วย+CtrlC

ป้อนคำอธิบายรูปภาพที่นี่


3
การใช้ที่จับอย่างชาญฉลาดกับวัตถุกราฟิกเป็นเงื่อนไขในwhere
Suever

2
กฎได้รับการชี้แจง - Your program must have an equal chance of picking all colors/points each iteration. โปรแกรมของคุณเติมเต็มสิ่งนี้หรือไม่?
MD XF

5

Bash + 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 ไบต์ (\ e คือ 1 char char และ shuf | xargs ทำให้สั้นลง (ไม่จำเป็นต้องใช้ -n 1 และไม่จำเป็น) codegolf.stackexchange.com/a/158142/7017ฉันสามารถลบมันได้ถ้าคุณต้องการ (ฉันไม่แน่ใจว่าฉันควรเสนอสิ่งนี้เป็นความคิดเห็นแทนที่จะโพสต์มันหรือเปล่าเป้าหมายของฉันคือการได้คะแนนสักเล็กน้อยในหนึ่งวัน ในเกมแห่งชีวิต "ท้าทาย & คำตอบ! ดูcodegolf.stackexchange.com/q/11880/7017
Olivier Dulac

5

Javascript + 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 ที่กระจายอย่างสม่ำเสมอ คุณไม่สามารถใช้ Hex Hex ได้หากไม่มีช่องว่างภายในที่เหมาะสมเนื่องจากตัวเลขเช่น#7นั้นไม่ใช่สีที่ถูกต้องหรือ#777และ#777777เป็นสีเดียวกัน (2x อัตราต่อรอง)
  • องค์ประกอบผ้าใบคือ 300x150 โดยค่าเริ่มต้น แต่จริง ๆ แล้วฉันวาดบนสี่เหลี่ยม 255x255 ดังนั้นจึงมีพิกเซลพิกเซลออกดังนั้นพื้นที่ที่มีประสิทธิภาพคือ 255x150
  • ใช้งานได้กับ Google Chrome เท่านั้น

2
โพสต์แรกสุดยอด! ยินดีต้อนรับสู่เว็บไซต์!
MD XF

ฉันไม่เชื่อว่านี่เป็นโอกาสของการแสดงสีใด ๆ กับชุดช่องที่ 255 เช่นแดงเขียวน้ำเงินหรือขาว ฉันคิดว่าคุณต้องคูณด้วย 256 แทน
kamoroso94

4

Excel VBA, 131 102 85 ไบต์

ไม่ระบุชื่อฟังก์ชัน VBE หน้าต่างทันทีที่ใช้ฟังก์ชันตัวช่วย (ดูด้านล่าง) เพื่อส่งออกอาร์เรย์ของเซลล์สีแบบสุ่มไปยังช่วงA1:AN40ของวัตถุ activesheet

หมายเหตุ: โซลูชันนี้ จำกัด การติดตั้ง MS Excel แบบ 32 บิต (และ Office ทั้งหมด) โดย8^8จะไม่คอมไพล์ใน VBA รุ่น 64 บิต

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

ฟังก์ชั่นผู้ช่วย

เอาต์พุต int สุ่มในช่วง [0,255]

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);}}}

บันทึกแล้ว 88 ไบต์ด้วย @CodyGray

โปรแกรมเต็มรูปแบบที่ได้รับการจัดการไปที่หน้าจอและขนาดของมันแล้วเริ่มวาดพิกเซลแบบสุ่มบนมัน โปรดทราบว่าการดำเนินการนี้อาจทำให้กราฟิกการ์ดของคุณหยุดชะงักเมื่อทำงาน นอกจากนี้หากหน้าจอหรือการควบคุมใด ๆ ตัดสินใจที่จะทาสีใหม่ได้ตลอดเวลาพิกเซลจะหายไปและจะต้องวาดใหม่

หมายเหตุ: เมื่อเรียกใช้โฟกัสบนหน้าต่างเพื่อฆ่าคุณต้องกด Alt + F4 หรือกดปุ่มปิดและทำเช่นนั้นเมื่อคุณไม่เห็นหน้าจอค่อนข้างยาก

ฉันไม่สามารถบันทึกการทำงานนี้ด้วย ScreenToGif เนื่องจากบังคับให้ทาสีใหม่ดังนั้นพิกเซลจะถูกลบ อย่างไรก็ตามนี่คือภาพหน้าจอของมันที่ทำงานหลังจากนั้นประมาณ 10-15 วินาทีอีกต่อไปและฉันคิดว่าฉันอาจทำให้พีซีของฉันหยุดทำงาน! ช่องว่างที่มุมขวาบนเป็นที่ที่หน้าจอบังคับให้ทาสีใหม่เช่นเดียวกับที่ฉันถ่ายภาพหน้าจอ

ตัวอย่างเวอร์ชันเต็ม

เวอร์ชันเต็ม / ฟอร์แมต:

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);
        }
    }
}

รุ่นสำหรับ308 227 226 ไบต์ที่ใช้กับพื้นที่ 0-40 เท่านั้น:

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 / Invoke GetDCมาก แน่นอนว่าโค้ดของคุณยังคงเหมือนของ Tasและแหล่งข้อมูลรั่วไหลอย่างบ้าคลั่งซึ่งเป็นสาเหตุที่ทำให้เครื่องของคุณหยุดทำงานหลังจากผ่านไปเพียงระยะเวลาสั้น ๆ
โคดี้เกรย์

@CodyGray โอ้ฉันรู้ว่าการรั่วไหลควรยังคงทำงานภายในรายละเอียดความท้าทายแม้ว่า และGetDCไม่ส่งคืนIntPtr.Zeroดังนั้นการส่งไปที่FromHdcจะไม่ทำงาน
TheLethalCoder

1
อ่านคำแนะนำให้ละเอียดยิ่งขึ้น :-) ฉันไม่ได้บอกว่าคุณเรียกผมบอกว่าคุณเรียกFromHdc FromHwndขอให้สังเกตว่าเมื่อคุณโทรGetDCเพื่อรับ DC สำหรับหมายเลขอ้างอิงหน้าต่างคุณผ่านในตัวชี้ NULL (0) เป็นหมายเลขอ้างอิงของหน้าต่าง
โคดี้เกรย์

@CodyGray Ah ใช่ว่าได้ผลขอบคุณ! พวกเขากำลังเสนอชื่อให้คล้ายกันควรจะมีการอ่านความคิดเห็นของคุณอย่างระมัดระวังมากขึ้น ...
TheLethalCoder

3

C # Console, 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 "all" (windows)

ขอบคุณสำหรับ "คุณสมบัติ" เพื่อให้สามารถนามแฝงคลาสใน C # ผ่านทางusingคำสั่ง

แก้ไข # 1

  • ลบช่องว่างบางส่วนออก

  • นำศูนย์ออกจาก Random.Next ()

  • เคยไปที่ namespace system{...}

แก้ไข # 2

  • ขนาดกริดขั้นต่ำคือ 40x40

  • หนึ่งไบต์โดยประกาศ Random ในสำหรับส่วนหัวของลูป

  • ลบออก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สามารถลบศูนย์ฉันเชื่อว่าลบช่องว่างสีขาวที่ไม่เกี่ยวข้อง
TheLethalCoder

นอกจากนี้เพียงแค่การเอียง C # ก็ดี
TheLethalCoder

ขอบคุณ! ฉันออกจากคอนโซลในชื่อตั้งแต่ฉันรู้สึกว่ามันท้าทายสำหรับบริบท ผมไม่เห็นว่าจะสั้นกว่าnamespace System{} using System;สนใจที่จะอธิบาย?
MrPaulch

1
ฉันมีหน่วยความจำที่แข็งแกร่ง แต่ไม่มีมูลความจริงนี้ว่าประชาชนเป็น nescessary Mainสำหรับ ความทรงจำที่ไม่มีโคมลอยนั้นดีที่สุด!
MrPaulch

1
ขอบคุณ ไม่ยอมแพ้! :) จะใช้สิ่งที่ฉันเรียนรู้ในการท้าทายครั้งต่อไป!
MrPaulch

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 ที่ตั้ง แต่การประมวลผลของpixels[]การเข้าถึงต้องloadPixels()ก่อนและโพสต์จึงใช้updatePixels() จะทำงานมากเกินไป แต่มีตัวอักษรมากขึ้นและต้องใช้ จริง ๆ แล้วพื้นที่สุ่มคือ 99x99 เพื่อบันทึกสองสามไบต์ (แทน 100x100) แต่ควรครอบคลุม 40x40 ด้วยแต่ละพิกเซลในพื้นที่ดังกล่าวที่จะถูกแทนที่set()point()stroke()

ใช้เสียง Perlin ()แทนการสุ่ม ()เพื่อให้มันมากขึ้นสุ่มหลอกและไบต์สั้น ค่าจะถูกคำนวณหนึ่งครั้ง แต่ใช้สองครั้ง: หนึ่งครั้งสำหรับตำแหน่งสุ่มจากนั้นให้อีกครั้งสำหรับสี

สีจริงARGB(00000000 ถึง FFFFFFFF) (ไม่ใช่ RGB) (คะแนนโบนัส?: D)


ยอดเยี่ยมและดีใจที่ได้พบคุณในเว็บไซต์นี้!
Kevin Workman

ฉลาด! และขอบคุณ! :)
George Profenza

+1 set()เป็นกลลวงที่ประณีตและมีประโยชน์มากสำหรับเคล็ดลับสำหรับการเล่นกอล์ฟในกระบวนการผลิต
Kritixi Lithos

ooooooh! ฉันไม่รู้เกี่ยวกับสิ่งนั้น ฉันจะเพิ่มเข้าไปที่นั่นขอบคุณ :)
George Profenza

2

Python ขนาด 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+')'))

ลองออนไลน์ - รุ่นที่ไม่มีevalซึ่งใช้งานไม่ได้ใน Trinket


หมายเหตุค่อนข้างแน่ใจว่าทำไมบางทีอ. เต่าของคุณจะแตกต่างจากฉัน แต่ผ้าใบเริ่มต้นของฉันเป็น 300 จาก 400 ในขณะที่เริ่มต้นcolormodeคือไม่ได้1.0 255
Jonathan Allan

Trinket.io มีความเป็นเอกลักษณ์
mbomb007

ใช่ - ฉันเพิ่งลองเปลี่ยนไปcolormodeและมันจะไม่มีสิ่งใดเลย: /
Jonathan Allan

ทำไมถึงdot(1,R(0,255),R(0,255),R(0,255))ไม่ทำงานเช่นกัน? จะหมายถึงการยอมรับdot (width,*color)ไม่ใช่ Python: p
Jonathan Allan

เพราะ Trinket.io ใช้ skulpt.js ซึ่งเป็นการใช้งานที่ไม่สมบูรณ์ของ Python
mbomb007

2

JavaScript ใช้ Canvas 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 อัปเดตแบบสุ่ม 30x ต่อวินาทีรวมเป็น 5400 การปรับปรุงต่อ 3 นาทีทำให้ไม่น่าที่จะพลาด

Ungolfed:

โปรแกรมตรงไปตรงมาจริงๆ เปิดหน้าต่างที่ 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);และเปลี่ยนpointเป็นได้point(random(99),random(99));หรือไม่ (หรือ 100 แทนหาก 99 ไม่ทำงาน)
Kritixi Lithos

@KritixiLithos ในการประมวลผลsizeฟังก์ชั่นจะต้องเป็นบรรทัดแรกของรหัสในฟังก์ชั่นการตั้งค่า (เหตุผลที่ซับซ้อน) ดังนั้นฉันไม่สามารถแก้ไขได้ ฉันสามารถเปลี่ยนเหตุการณ์ทั้งหมด 40 ถึง 99 ฉันไม่ได้เพราะมันไม่ได้ช่วยฉันประหยัดพื้นที่ ฉันส่วนใหญ่ไปกับขนาดต่ำสุดเพื่อเพิ่มอัตราต่อรองที่ทุกพิกเซลจะมีการรีเฟรชในระยะเวลา 3 นาที
Cody

หึนั่นคือสิ่งที่ฉันแรกคิดว่าเป็นอย่างดีจนกว่าจะมีคนบอกฉันเกี่ยวกับมันและมันทำงานอย่างใดออกที่คุณสามารถดูที่นี่ในการส่งของฉัน
Kritixi Lithos

1
การลบsetup()ฟังก์ชั่นทั้งหมดในการประมวลผลเวอร์ชั่นล่าสุดบนเครื่องของฉันทำงานได้ดีโดยไม่มีข้อผิดพลาด
Kritixi Lithos

ฉันเดาว่าเวอร์ชันการประมวลผลของฉันค่อนข้างเก่าและฉันไม่ได้ใช้งานมากพอที่จะรบกวนการอัพเกรดในตอนนี้
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

C ++ บน Windows ขนาด 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 (รวม) สำหรับค่าแถวและคอลัมน์กำหนดค่าสุ่ม R, G, B ระหว่าง 0-255 (รวม)


1
ฉันรู้ว่าคุณเล่นกอล์ฟนี้ แต่คนที่รั่วของบริบทอุปกรณ์ทุกครั้งที่ผ่านการวนซ้ำทำให้รู้สึกเสียวซ่ารู้สึกเสียวซ่า!
โคดี้เกรย์

บันทึก 15 ไบต์ด้วยการทำให้เป็น C บน Windows แทนที่จะเป็น C ++ บน Windows เนื่องจากคอมไพเลอร์ C จะช่วยให้คุณไม่ต้องไป#includeไหน (และใช่มีคอมไพเลอร์ที่ไม่ใช่ Visual Studio C สำหรับ Windows)
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จึงเห็นพารามิเตอร์ที่ส่งผ่านสี่ตัว - วิธีนี้กำลังผ่านพารามิเตอร์ "ตัวเอง" โดยปริยาย แต่ฉันไม่ทราบสาเหตุที่สร้างข้อผิดพลาดเนื่องจากเอกสารแสดงตัวสร้าง Canvas ยอมรับพารามิเตอร์สามตัว (master, x, y) ตามที่แสดงในรหัส
CCB60

ควรได้รับการแก้ไขแล้ว
Martmists

1
@Ilikemydog Tkinter ก็ไม่ได้อยู่ใน stdlib เสมอไป บน windows มันเป็นทางเลือกเมื่อทำการติดตั้งและฉันไม่คิดว่า arch partition ของฉันได้ติดตั้ง Tkinter ไว้เช่นกัน อาจรวมถึงมันด้วย
Martmists

ther is typo - "img" แทนที่จะเป็น "i" และมันก็ยังไม่ทำงานคราวนี้ฉันได้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"
มิคาอิล V

2

JavaScript (ES7) + HTML โดยใช้ SVG, 129 + 10 = 139 bytes

รุ่น SVG, แรงบันดาลใจอย่างมากจาก@ ปลาหมึกของ<canvas>วิธีการ

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>

ตั้งแต่กอง Snippet ชอบที่จะทำลายสคริปต์โดยการแยก<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 แพลตฟอร์ม 6502 เป้าหมายคืออะไรที่นี่? BBC Micro? แอปเปิ้ล ][? พลเรือจัตวา VIC-20 ฯลฯ ... ?
Shaun Bebbers

ชื่อป้ายกำกับต้องมีอักขระอย่างน้อยสามตัวหรือไม่
Jonathan Frech

2

โลโก้, 71 ไบต์

ภาษาเดียวที่ฉันรู้ว่าไม่ใช่ความลึกลับ / ออกแบบมาเป็นพิเศษสำหรับ codegolfing และมี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 ไบต์ขอบคุณดร. แรนด์ : P

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 (บน * ระวัง), 69 ไบต์

\x1bs เป็นตัวหนีตามตัวอักษร

พึ่งพาsttyคำสั่งและทำงานได้ดีบน OS X

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

คล้ายกับวิธีอื่น ๆ แต่ฉันชอบการรวมกันของ params ทั้งหมดไว้ในการโทรครั้งเดียวเพื่อprintfให้คิดว่าฉันจะแบ่งปัน ฆ่าสถานีของฉัน

ป้อนคำอธิบายรูปภาพที่นี่


เพิ่มเป็นสองเท่าของพิกเซล 83 ไบต์

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

วิธีการนี้ใช้บล็อก unicode และสีพื้นหน้าและสีสุ่มซึ่งให้พิกเซลมากกว่าเดิม ฆ่า terminal ของฉันด้วย แต่ดูเท่กว่า

ป้อนคำอธิบายรูปภาพที่นี่


อย่าลืมคุณสามารถใช้หลบหนีไบต์ตัวอักษร ASCII 0x1b (27) \eแทน และใน StackExchange นี้สามารถแสดงโดย
MD XF

@MDXF ใช่ ... ฉันต้องทดสอบว่าเป็นสคริปต์เพราะนั่นไม่ได้ทำงานผ่าน-e! ฉันต้องเพิ่มจำนวนไบต์ด้วย unicode ด้วย อ๊ะ! ขอบคุณสำหรับการเตือน!
Dom Hastings

2

Bash, 104 ไบต์

\es เป็นตัวหนีตามตัวอักษร

นี่เป็นคำแปลของการส่ง Perl ของฉันที่ค่อนข้างสวย แต่ใช้ไวยากรณ์สไตล์ bash fork bomb! ไม่ฉลาดเท่ากับรายการทุบตีอื่นที่เขียนไปยังจอแสดงผลโดยตรงฉันกลัว

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

พิกเซลเพิ่มเติม 130 ไบต์

เช่นเดียวกับคำตอบ Perl ของฉันนี้ใช้อักขระ Unicode สำหรับเบื้องหน้าและสีพื้นหลังของแต่ละพิกเซลเช่นกัน

:(){ 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

ที่เข้าถึงเต็ม 256 สีมากกว่าเพียงแค่จานสี 16 สีมาตรฐาน ในเทอร์มินัลที่รองรับมันเป็นไปได้ที่จะใช้\e[48;2;RRR;GGG;BBBmแต่เทอร์มินัลอีมูเลเตอร์น้อยมากที่รองรับ ... :(
Dom Hastings

รหัสแม่ศักดิ์สิทธิ์ .... ฉันไม่รู้ว่าเป็นไปได้ ชีวิตของฉันเป็นเรื่องโกหก ขอบคุณหนึ่งล้าน: P
MD XF

@MDXF ^^ และยัง38;5แสดงถึงพื้น48;5หลังและฉากหลัง deonates misc.flogisoft.com/bash/tip_colors_and_formatting
Dom Hastings

1
@MDXF ไม่ต้องกังวล! ดีใจที่ได้ช่วยเหลือ! ความอัปยศฉันพลาดเมื่อมันเป็นแบรนด์ใหม่ แต่ Minecraft ตอบว่า ... ไม่จริง!
Dom Hastings

2

ภาษาเครื่อง x86 (โหมดจริง) สำหรับ IBM PC ขนาด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

ฉันไม่แน่ใจในชื่อที่แน่นอน แต่ฉันต้องใช้สิ่งนี้แทน Chip-8 ปกติเนื่องจากข้อ จำกัด พิกเซล 40x40


เชื่อมโยงกับภาษานี้ (น่าสนใจมาก)?
MD XF

คุณสามารถใช้เครื่องจำลอง Octo: johnearnest.github.io/Octo
12Me21

2

QBIC , 34 ไบต์

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

น่าเสียดายที่ QBIC ไม่ได้ตั้งค่าSCREENโหมดตามค่าเริ่มต้นดังนั้นจึงกินบางไบต์ PSETเป็นคำสั่งที่ผิดกฎหมายในบริบทกราฟิกเริ่มต้นของ QBIC

คำอธิบาย

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 พบข้อผิดพลาดในrnd()ฟังก์ชั่นของ QBIC การแก้ไขที่ให้ผลลัพธ์ด้านล่าง ขอบคุณ!

ป้อนคำอธิบายรูปภาพที่นี่


ควรเห็นได้ชัดจากภาพหน้าจอโซลูชันของคุณไม่ตรงตามเงื่อนไขการสุ่ม เมื่อกำหนดพิกัดแล้วสีทั้งหมดอาจมีแนวโน้มเท่ากันและได้รับสี พวกมันมีความสัมพันธ์กันสูง ปัญหาคือตัวสร้างตัวเลขสุ่มที่คุณใช้: 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ตัวเลขสุ่มของคุณเป็นเพียงแฮชของเวลาปัจจุบัน
ไม่ระบุตัวตน

@ ไม่ระบุชื่อมันได้รับการแก้ไขแล้วขอบคุณ!
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ของคุณหรือไม่? :-)
Cody Grey

@CodyGray Nope มันทำสิ่งต่างกันเล็กน้อย มันเหมือนคำตอบพื้นฐานของ Applesoft พื้นฐานของฉัน (ใช้การเดินแบบสุ่ม) และคำตอบแอสเซมบลี 6502 อื่น ๆ นั้นก็เหมือนกับที่อื่น ๆ ทั้งหมด
MD XF

ฉันไม่เห็นด้วยกับจำนวนไบต์: นี่เป็นวิธีที่สั้นกว่า 583 ไบต์ของชุดประกอบไหม
Olivier Dulac

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.