วาดธงประจำชาติของฝรั่งเศส


106

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

สร้างแฟล็กนี้ในจำนวนไบต์ที่น้อยที่สุดเท่าที่จะเป็นไปได้:

ธงฝรั่งเศส

  • ภาพต้องมีอัตราส่วน 3: 2 โดยมีขนาดอย่างน้อย 78 พิกเซลและสูง 52 พิกเซล
  • แถบแต่ละแถบใช้เวลาหนึ่งในสามของความกว้าง
  • สีลายจากซ้ายไปขวาคือ (0, 85, 164)RGB: (255, 255, 255), (239, 65, 53),
  • ภาพสามารถบันทึกเป็นไฟล์หรือไปยังไฟล์ดิบไปยัง STDOUT ในรูปแบบไฟล์ภาพทั่วไปหรือสามารถแสดงได้
  • อีกทางหนึ่งออกบล็อกข้อความที่มีความกว้างอย่างน้อย 78 ตัวอักษรทำจากอักขระที่ไม่ใช่ช่องว่างที่แสดงถึงการตั้งค่าสถานะโดยใช้รหัสสี ANSIเพื่อกำหนดสี (ใช้สีน้ำเงินมาตรฐานสีขาวและสีแดง)
  • ไม่อนุญาตให้สร้างอิมเมจ / ไลบรารีแบบบิวด์อิน

รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

ลีดเดอร์บอร์ด

สแต็คส่วนย่อยที่ด้านล่างของโพสต์นี้สร้างกระดานแต้มนำจากคำตอบ a) เป็นรายการคำตอบสั้นที่สุดต่อภาษาและ b) เป็นกระดานแต้มนำโดยรวม

เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้:

## Language Name, N bytes

ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น

## Ruby, <s>104</s> <s>101</s> 96 bytes

หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของไฟล์สองไฟล์หรือคุณต้องการแสดงรายการบทลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว:

## Perl, 43 + 2 (-p flag) = 45 bytes

คุณยังสามารถตั้งชื่อภาษาให้เป็นลิงค์ซึ่งจะปรากฏในตัวอย่างข้อมูล:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


4
ค่า RGB เหล่านั้นไม่ตรงกับภาพของคุณ จากสิ่งที่ฉันเห็นคุณได้มี RGB: (0, 35, 149), ,(255, 255, 255) (237, 41, 57)
บีกเกอร์

8
การจัดเก็บจานสีที่ระบุอย่างกะทัดรัดน่าจะเป็นส่วนที่ยากที่สุดของปัญหานี้ในภาษาส่วนใหญ่ เนื่องจากดูเหมือนว่าไม่เป็นธรรมสำหรับโซลูชันกราฟิกที่อนุญาตให้ใช้เอาต์พุต ANSI ด้วยพาเลตมาตรฐาน ทำไมไม่อนุญาตให้โซลูชันกราฟิกใช้ pure (0, 0, 255) / (255, 255, 255) / (255, 0 0) เพื่อปรับระดับการเล่น?
JohnE

15
แถบแต่ละแถบใช้เวลาหนึ่งในสามของความกว้าง อาจจะน่าสนใจกว่าที่จะใช้ตัวแปรกองทัพเรือ: โดยกฎระเบียบลงวันที่ 17 พฤษภาคม ค.ศ. 1853 กองทัพเรือก็กลับไปใช้สัดส่วน 30:33:37 ซึ่งตอนนี้มันยังคงใช้งานอยู่ขณะที่ธงกะพริบทำให้บางส่วนห่างจาก ดูเหมือนจะมีขนาดเล็ก
เบ็คแจ็คสัน

34
echo 🇫🇷ไม่ใหญ่พอ
Digital Trauma

5
@ John ฉันเห็นด้วย กฎเกี่ยวกับสีทำให้โซลูชั่น ASCII เป็นข้อได้เปรียบอย่างมาก พวกเขายังไม่ได้ท้าทายอีกต่อไป "ยาก" (เพียงเพิ่มไบต์จริง ๆ ) สำหรับภาษาที่สามารถใช้สีตามอำเภอใจและตัดสิทธิ์ภาษาที่น่าสนใจหลายภาษาที่ไม่สามารถทำสีตามอำเภอใจได้
ปาเก็ตตี้

คำตอบ:


38

CJam, 23 22 ไบต์

00000000: 27 9b 22 5c 22 25 1f 22 66 7b 69 27 6d 32 37 2a  '."\"%."f{i'm27*
00000010: 7d 4e 5d 32 36 2a                                }N]26*

ข้างต้นเป็น hexdump xxd -rที่สามารถกลับด้วย

ด้วยค่าใช้จ่ายเพิ่มเติมสองไบต์ - รวมเป็น24 ไบต์ - เราสามารถใช้สีพื้นหลังแทนทำให้ได้ผลลัพธ์ที่ดีขึ้นเล็กน้อย

00000000: 27 9b 22 2c 2f 29 00 22 66 7b 69 27 6d 53 32 36  '.",/)."f{i'mS26
00000010: 2a 7d 57 4e 74 32 36 2a                          *}WNt26*

มันทำงานอย่างไร

ในทั้งสองโปรแกรมเราจะใช้ลำดับหนี ANSI \x9bXYm- กรณีที่Xเป็น3สีพื้นหน้าและ4สีพื้นหลังและYระบุสีที่จะใช้ - การสลับระหว่างสามสีของธง

'<CSI>       Push the '\x9b' character (Control Sequence Introducer).
"\"%<US>"    Push the string of the ISO 8859-1 characters with code
             points 34, 37, and 31.
f{           For each character in the string, push the CSI and that
             character; then:
  i            Cast the character to integer.
  'm27*        Push 27 m's. The first completes the control sequence,
               the remaining 26 will be printed.
}
N]           Wrap the generated array and "\n" in an array.
26*          Repeat it 26 times.

โปรแกรมอื่นคล้ายกัน

เอาท์พุต

เอาท์พุต


ขณะนี้ฉันไม่แน่ใจว่าฉันควรสร้าง "ภาพ" สูงแค่ไหน
Dennis

ฉันตอบด้วย 78x30 มิติเหล่านั้นใน Lucida Console 9 pt (แบบอักษรเริ่มต้นสำหรับ xterm) ให้ค่าใกล้เคียงกับ 3: 2 มากที่สุด
Mego

คุณสามารถใช้บล็อกเต็มรูปแบบสำหรับ 'ความสวย'
Matthew Roh

75

Pure Bash (บน OSX), 84

เทอร์มินัล OSX เริ่มต้นรองรับอีโมจิสีเต็มรูปแบบ ไม่แน่ใจว่าสิ่งนี้นับเป็นข้อความหรือเอาต์พุตกราฟิก

printf -vs %26s
for i in {1..26}
do echo ${s// /🔵}${s// /⚪️}${s// /🔴}
done

ผลลัพธ์ดูเหมือนว่า:

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


อีกวิธีหนึ่งคือ:

Bash พร้อมยูทิลิตี้ OSX, 56

yes `dc -e3do26^d1-dn2/*p|tr 201 🔵🔴⚪️`|sed 26q

การdcแสดงออก:

  • คำนวณ3^26-1และพิมพ์ภาพในแบบไตรภาค22222222222222222222222222
  • แบ่งนี้โดย 2 3^26แล้วคูณ ผลลัพธ์ในไตรภาคนี่คือ1111111111111111111111111100000000000000000000000000

trจากนั้นแปลอักขระ 210 เป็น🔵⚪️🔴 yesเอาท์พุทบรรทัดนี้ไปเรื่อย ๆ sed 26qหยุดการแสดงผลที่ 26 บรรทัด


51
เทอร์มินัลที่รองรับอิโมจิ ว้าว.
rr-

6
ทางออกแรกไม่ได้ใช้ค่า RGB ที่ถูกต้องและไม่ใช้สีมาตรฐาน ANSI ใช่หรือไม่
Doorknob

@Doorknob แน่นอนคุณไม่มีวิธีแก้ปัญหาดังนั้นคำตอบนี้อาจทำให้เกินจำนวนบรรทัด ฉันขอ OP เพื่อความกระจ่าง
Digital Trauma

3
มันเป็นเพียง Unicode
undergroundmonorail

1
@ Steve ฉันไม่ได้จริงๆคาดหวังว่าคำตอบนี้จะกลายเป็นที่นิยมโดยเฉพาะอย่างยิ่งที่มีคำถามเกี่ยวกับความถูกต้อง คุณสามารถให้ yay หรือ nay ว่าคุณคิดว่ามันถูกต้องหรือไม่? ขอบคุณ!
Digital Trauma

51

Desmos, 30 12 ไบต์

3x>10
3x<-10

ลองออนไลน์

ฉันไม่แน่ใจว่าทั้งหมดนี้ถูกต้องหรือไม่โปรดแจ้งให้เราทราบหากมีปัญหาใด ๆ


3
@ CᴏɴᴏʀO'Bʀɪᴇɴสีเริ่มต้นเป็นสีแดงและสีน้ำเงินตามลำดับ (ฉันเชื่อ) ดังนั้นจึงไม่จำเป็นต้องตั้งค่า
ปาเก็ตตี้

7
@ CᴏɴᴏʀO'Bʀɪᴇɴจากนั้นมันเป็นเครื่องกำเนิดธงแบบสุ่ม;)
DanTheMan

3
@ CᴏɴᴏʀO'Bʀɪᴇɴพวกเขาไม่ได้สุ่มให้ฉัน - การป้อนความไม่เท่าเทียมกันสองแบบด้วยตนเองคือการทำให้ฉันแดงและน้ำเงินอย่างสม่ำเสมอ
Mego

1
มันแปลก ๆ. ฉันได้รับสีแดงและสีน้ำเงินเช่นกัน
lirtosiast

2
ฉันไม่คิดว่ามันจะเป็น ... และไม่เหมาะกับอัตราส่วนภาพอย่างแม่นยำ
Doorknob

51

Python 2, 47 ไบต์

s="[3%smF";print(s%4*26+s%7*26+s%1*26+"\n")*30

มี unprintables - นี่คือ hexdump (ย้อนกลับได้ด้วยxxd -r):

00000000: 733d 221b 5b33 2573 3b31 6d46 223b 7072  s=".[3%s;1mF";pr
00000010: 696e 7428 7325 342a 3236 2b73 2537 2a32  int(s%4*26+s%7*2
00000020: 362b 7325 312a 3236 2b22 5c6e 2229 2a33  6+s%1*26+"\n")*3
00000030: 30                                       0

ใช้รหัสหลบหนี ANSI เพื่อพิมพ์ตัวอักษรสีลงใน STDOUT - ฉันเลือก "F" สำหรับฝรั่งเศส ไม่มีการเชื่อมโยงออนไลน์เพราะ ideone ไม่รองรับ ANSI escape codes ในเอาต์พุต

ขอบคุณ Dennis และ xnor สำหรับคำแนะนำที่ดี

ภาพหน้าจอจาก xterm:

ธง


1
คุณมีพื้นที่พิเศษที่นั่น in [0]->in[0]
mbomb007

2
1. คุณสามารถใช้จริง ESC \x1bไบต์แทน 2. Bolding ดูเหมือนจะไม่จำเป็น 3. ฉันไม่แน่ใจว่าสิ่งนั้นนำไปใช้กับงานศิลปะของ ANSI ได้หรือไม่ แต่คำถามนั้นดูเหมือนว่าจะมีอัตราส่วน 3: 2
Dennis

print("\x1b[3%s;1mF"*78+"\n")%((4,)*26+(7,)*26+(1,)*26)*30มันสั้นเพื่อย่อยในพารามิเตอร์ที่มีการจัดรูปแบบ:
xnor

16
กด F เพื่อแสดงความเคารพ
Riking

4
ตัวละครที่ดูดีกว่าเล็กน้อยเช่น print("\x1b[3%s;1m█"*78+"\n")%((4,)*26+(7,)*26+(1,)*26)*30
ali_m

44

HTML / SVG, 76 ไบต์87 88 121 122 149

บันทึก 27 ไบต์ขอบคุณ @insertusername ที่นี่

บันทึก 9 ไบต์ด้วย @Joey

บันทึกแล้ว 1 ไบต์ขอบคุณ @sanchies

บันทึก 1 ไบต์ด้วย @Neil

<svg><path fill=#0055a4 d=m0,0h26v52H0 /><path fill=#ef4135 d=M52,0h26v52H52

ด้วยการใช้ไวยากรณ์ HTML ที่ไม่เหมาะสมจำนวนมากสิ่งนี้จะค่อนข้างสั้น


ภาพหน้าจอของผลลัพธ์:

ธงชาติฝรั่งเศส


หรือลองใช้ (ตรวจสอบว่าเบราว์เซอร์ของคุณรองรับ SVG):

<svg><path fill=#0055a4 d=m0,0h26v52H0 /><path fill=#ef4135 d=M52,0h26v52H52


3
ฉันพยายามที่จะเอาชนะคุณด้วย CSS และตอนนี้ฉันเล่นกอล์ฟ SVG ของคุณแล้วว่ามันมีขนาดเล็กกว่าโซลูชัน CSS ของฉัน : D นี่คือระยะทางที่สั้นที่สุดที่ฉันจะได้ทำงานใน Safari, Chrome และ Firefox มันมีความยาว122 ไบต์ :<svg><rect width=78 height=52 fill="#ef4135"/><rect width=52 height=52 fill="#fff"/><rect width=26 height=52 fill=#0055a4>
insertusername ที่นี่

1
@insertusername ที่นี่ขอบคุณที่บันทึก 27 ไบต์! ฉันพยายามที่จะตีกอล์ฟต่อไปให้ถึง 88 ไบต์
Downgoat

3
สำหรับฉันfill=#0055a4 />ทำงานด้วย (ไม่") ประหยัดทั้งไบต์
Sanchises

3
@sanchises ไบต์ทั้งหมดหรือไม่ o_O wow : D
developerbmw

4
@developerbmw ที่จริงแล้วมันจะน่าประทับใจมากขึ้นที่จะประหยัดครึ่งไบต์เมื่อคุณคิดเกี่ยวกับมัน
Sanchises

29

Brainfuck $ , 153 bytes

+++++++++++++[->>>++>+++++++>++++>>>>++++++++>+++<<<<<<<<<<]>>>+>>#->$#>$#+++++++>$--->+++++[<]<<+++++[->+++++>++++++<<]>+#>($#([-]>[.>]<[<])>>>>+++<<<<)

แสดงผลภาพด้วยรหัสสี ANSI ผมเลือกความสูง 30 เช่นชำเลือง

การใช้งานอ้างอิงจาก 2009 ที่เชื่อมโยงบนหน้า esolangs หายไป คุณสามารถเรียกใช้งานได้โดยใช้ล่ามที่ทำโดยฉันซึ่งรองรับทุกอย่างจากหน้า esolangs

Brainfuck, 258 ไบต์

นี่คือสิ่งเดียวกันโดยทั่วไป แต่เพียงใน Brainfuck เก่าธรรมดา

>>+++++++++++++[-<<++>>>>++>+++++++>++++>++++>+++++>++++>++++++++>+++[<]<]>>+>>->>------>--->+++++[<]<<<++++[>+++++[->+++++<]>+[>>[.>]<[<]<-]>>>>>+++[<]+++++[-<+++++>]<+[>>[.>]<[<]<-]>>>>>------[<]+++++[-<+++++>]<+[>>[.>]<[<]<-]>>>>>+++[<]<++++++++++.[-]<<-]

หรือถ้าคุณชอบอันนี้ในรหัส oOo (984 ไบต์):

one day ThERe WIlL Be PEaCE iN ThIS wORlD
OnE DaY ThERe WiLl Be peaCe iN ThIS wOrld
one day theRe WIlL be pEaCE iN ThIS wORlD
OnE DaY theRe WIlL Be PEaCe in ThIS wORlD
OnE day ThERe WIlL Be PEaCe in ThIS wORlD
OnE day ThERe WIlL Be PEaCE iN ThIS wOrld
OnE DaY ThErE wilL bE PeaCe IN this woRlD
one day There will Be pEacE in ThiS woRld
one Day TheRe will Be PEaCE iN ThIS wOrLd
onE dAY thEre WilL Be PEaCE iN ThIs World
OnE DaY ThERe WIlL bE pEace in ThIS wORlD
OnE DaY thErE Will Be PeAce in this WoRLd
one dAY thErE wilL bE PeaCE in tHIs world
one day theRe WIlL Be PeAce iN tHIS wORlD
OnE DaY ThErE wIll be PEaCE iN ThIS wORlD
one dAY thERe WiLl be peace In THis worLD
onE dAy thErE WilL Be peACe in this world
one Day TheRe wIll Be pEace In thIs WORlD
OnE DaY ThERe WiLl Be peaCE iN ThIS wORlD
OnE day tHEre WIlL bE peace in tHiS World
oNE daY tHere WiLL be PEace IN this world
one day ThERe WIlL bE peaCe IN thIS wORlD
OnE DaY ThERe WIlL Be PEaCE iN THis WoRld
oNE daY thERe wiLL

25

Bash + ImageMagick, 60 77 73 ไบต์

convert -sample 78x52\! - a<<<"P3 3 1 255 0 85 164 255 255 255 239 65 53"

(ฮึ, +17 ตัวอักษรเนื่องจากข้อกำหนดด้านสีที่ฉันไม่ได้สังเกตเห็นก่อนหน้านี้ ... )

ส่งออกไปยังไฟล์aในรูปแบบ netpbm:

llama@llama:~$ convert -sample 78x52\! - a<<<"P3 3 1 255 0 85 164 255 255 255 239 65 53"
llama@llama:~$ file a
a: Netpbm image data, size = 78 x 52, rawbits, pixmap

ยังสามารถส่งออกใน PNG หากคุณเปลี่ยนชื่อไฟล์เป็นa.png(+4 ตัวอักษร)

เอาท์พุท:

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


1
convert -sample 78x52\! - a<<<"P3 3 1 255 0 85 164 255 255 255 239 65 53"
Digital Trauma

@ DigitalTrauma ขอบคุณ! ที่บันทึก 4 ตัวอักษรและไม่ออกด้วยข้อผิดพลาด (นอกจากนี้ฉันไม่เคยรู้ ImageMagick สามารถอ่าน / เขียนถึง STDIN ได้)
Doorknob

คุณสามารถใช้-scaleแทน-sample; นอกจากนี้แบ็คสแลชก็ไม่จำเป็นเช่นกัน
aditsu

25

LaTeX, 139 ไบต์

ขอบคุณ @WChargin สำหรับการบันทึก 21 ไบต์

\documentclass{proc}\input color\begin{document}\def\z#1!{{\color[rgb]{#1}\rule{4cm}{8cm}}}\z0,.33,.64!\z1,‌​1,1!\z.94,.25,.21!\end{document}

สิ่งนี้พิมพ์รูปภาพขนาด 12 ซม. * 8 ซม. ต่อไปนี้ในหน้า A4:

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

โปรดทราบว่า "หน้า 1" จะถูกพิมพ์ที่ด้านล่างของหน้าด้วย


1
อย่างนี้เป็นเรื่องเกี่ยวกับ 100 ไบต์สั้นกว่าของฉันasymptoteวิธีการแก้ปัญหา ...
Arcturus

1
s.\newcommand\z[1].\def\z#1เพื่อบันทึกจำนวนไบต์ นอกจากนี้คุณยังสามารถโกนหนวดได้เล็กน้อยโดยใช้\def\z#1!{…}\z0,.33,.64!\z1,1,1!\z.94,.25,.21!- นั่นคือใช้ตัวคั่นของคุณเองแทนการจัดฟันเพื่อจัดกลุ่ม
ก.ย.

1
คุณสามารถ\input color
wchargin

1
เพื่อความสมบูรณ์รุ่นที่ได้รับการแก้ไข (139 ไบต์):\documentclass{proc}\input color\begin{document}\def\z#1!{{\color[rgb]{#1}\rule{4cm}{8cm}}}\z0,.33,.64!\z1,1,1!\z.94,.25,.21!\end{document}
wchargin

24

Pyth, 27 ไบต์

 .w*52[smmdGc3CM"\0U¤ÿÿÿïA5

มีตัวอักษรที่ไม่สามารถพิมพ์ได้ดังนั้นนี่เป็น hexdump:

00000000   2E 77 2A 35  32 5B 73 6D  6D 64 47 63  33 43 4D 22  .w*52[smmdGc3CM"
00000010   5C 30 55 A4  FF FF FF EF  41 35                     \0U.....A5

สิ่งนี้จะสร้างไฟล์o.pngซึ่งมีความกว้าง 78 พิกเซลและสูง 52 พิกเซล:

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

คำอธิบาย:

.w*52[smmdGc3CM"........
               "........  a string containing the bytes 
                          0, 85, 164, 255, 255, 255, 239, 65, 53
             CM           convert them to integers
           c3             split into 3 lists
      smmdG               duplicate each list 26 times
     [                    put them into a list
  *52                     and duplicate it 52 times
.w                        save it as an image o.png

1
ฉันคิดว่าฉันเข้าใจผิดเกี่ยวกับข้อมูลจำเพาะของ PNG เป็นครั้งที่สอง
โม่

1
save it as an image o.pngแต่ไม่มี ".png" ที่ไหนเลย
rev

1
@AsidShout คุณเรียกโปรแกรมอย่างไร หากคุณใช้python3 pyth.py code.pythคุณสามารถค้นหาได้ในไดเรกทอรีเดียวกัน
Jakube

20

HTML (โหมดนิสัยใจคอ), 68 ไบต์

สิ่งนี้ใช้โหมด quirks เพื่อสร้างการตั้งค่าสถานะ

HTML ไม่ถูกต้องมากแต่ทำงานบนเบราว์เซอร์ Android 4.4.2 และ Firefox 42.0 (บน Windows 7 x64)

<table width=78 height=52><td bgcolor=0055a4><td><td bgcolor=ef4135>

ธงมีการแสดงผลด้วยขนาดที่เหมาะสมและสีแดงและสีน้ำเงินมาตรฐาน หน้าเว็บทั้งหมดเริ่มต้นด้วยพื้นหลังสีขาวมาตรฐาน



เป็นทางเลือก:

ที่ถูกต้องสมบูรณ์รุ่น HTML5 (141 bytes):

<!DOCTYPE html><title>x</title><table style=width:78px;height:52px><tr><td style=background:#0055a4><td><td style=background:#ef4135></table>

ตรวจสอบความถูกต้องของมันที่: https://html5.validator.nu/

พิมพ์หน้าจอของผล:

ผลการตรวจสอบ


1
คุณแน่ใจไหม? เมื่อฉันมีไฟล์ HTML ที่มีเพียงบรรทัดนี้มันจะไม่ทำงานใน Firefox, Chrome และ Safari หากไฟล์มีองค์ประกอบ HTML อื่น ๆ หลังจากบรรทัดนั้นก็ใช้งานได้สำหรับฉัน ดังนั้นบางทีคุณไม่สามารถทิ้งการติดตามได้>?
insertusernamehere

1
"ถูกต้องสมบูรณ์" มันควรจะเป็นอย่างstyle="..."นั้นถ้านั่นคือสิ่งที่คุณจะทำในตัวอย่างที่สอง
mbomb007

3
@ mbomb007 สิ่งที่ฉันจะทำคือการสร้างรหัส HTML ที่ถูกต้องที่สุด มันตรวจสอบกับผู้ตรวจสอบอย่างเป็นทางการดังนั้นมันจึงเป็นHTML ที่ถูกต้องสมบูรณ์ คุณสามารถลองด้วยตัวคุณเองถ้าคุณไม่เชื่อ
Ismael Miguel

1
@ mbomb007 คำพูดที่ขาดหายไปเป็นปัญหาที่เล็กที่สุด: ไม่มี<html>, ไม่<head>, ไม่<body>, ไม่</tr>, ไม่, ไม่</td>และไม่มีการปิดแท็กที่หายไปทั้งหมด
Ismael Miguel

1
@insertusername ที่นี่คุณพูดถูก มันกำลังดักฟังบน Android ด้วย ฉันทดสอบมันบน jsfiddle แต่เมื่อเข้าถึงdata:text/html,<table width=78 height=52><td bgcolor=0055a4><td><td bgcolor=ef4135>แล้วมันไม่ทำงาน แก้ไขตอนนี้และใช้ลิงก์เพื่อทดสอบ
Ismael Miguel

17

TI-Basic, 52 44 42 ไบต์

GridOff
AxesOff
11
Shade(-Ans,Ans,Xmin,Xmin/3
Shade(-Ans,Ans,Xmax/3,Xmax,1,1,Ans

(ถือว่าเป็นค่าเริ่มต้น [-10,10,1] โดยพื้นที่กราฟ [-10,10,1])

จะสั้นลง 4 ไบต์หากไม่มี 2 บรรทัดแรก แต่ตามค่าเริ่มต้นจะมีแกนและจะไม่ดูดี

ดูเหมือนว่านี้:

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

หากการแรเงาไม่ถูกต้องสำหรับความท้าทายแจ้งให้เราทราบ!

หากไม่มี 2 บรรทัดแรกดูเหมือนว่า:

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


ฉันจะรวมเวอร์ชันโดยไม่มีสามบรรทัดแรกเป็นการเปรียบเทียบ
GamrCorps

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

@ThomasKwa ฉันแก้ไขโพสต์เพื่อแสดงว่าทำไมฉันไม่ได้ใช้แค่ Ymin และ Ymax ฉันไม่ทราบว่าฉันสามารถสมมติหน้าจอเริ่มต้นได้ แต่คุณไม่ชัดเจนว่าหน้าจอเริ่มต้นนั้นคืออะไร คุณช่วยอธิบายได้ไหม เกี่ยวกับสิ่งที่ "แรเงาครึ่ง" นั่นเป็นเพียงวิธี TI-Basic แรเงาสิ่งถ้ามันไม่ถูกต้องฉันจะเปลี่ยนมันทันที
DanTheMan

1
หน้าจอเริ่มต้นคือ Ymin = Xmin = -10, Ymax = Xmax = 10 เครื่องคิดเลขเริ่มต้นด้วยการตั้งค่าหน้าต่างเหล่านั้นและ AxesOn เป็นต้นเพื่อให้คุณสามารถสันนิษฐานได้
lirtosiast

1
@Dorknob เท่าที่ฉันรู้มันเป็นไปไม่ได้ที่จะทำอย่างนั้นโดยไม่ต้องหันไปใช้คาถา
DanTheMan

17

ffmpeg, 110 113 116 117 119 108 100 ไบต์

แสดงผลใช้ ffplay 100 ไบต์:

ffplay -f lavfi color=#0055a4:49x98[r];color=white:49x98[w];color=#ef4135:49x98[b];[r][w][b]hstack=3

บันทึกไปยังไฟล์โดยใช้ ffmpeg ขนาด 108 ไบต์:

ffmpeg -lavfi color=#0055a4:49x98[r];color=white:49x98[w];color=#ef4135:49x98[b];[r][w][b]hstack=3 -t 1 .png

รุ่นปัจจุบันของคำสั่งจะยกเลิกพร้อมกับข้อผิดพลาด แต่จะส่งออกภาพเดียว ".png" เช่นเดียวกับที่แสดงด้านล่าง

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


8
ว้าว. เหยียดหยาม ffmpeg ที่จะทำให้ภาพ ...
โคลจอห์นสัน

เฮ้ฉันเห็นคำถามนี้และคิดจะทำแบบเดียวกัน ทำได้ดีมากทำให้กะทัดรัด หากได้รับอนุญาตคุณสามารถทำให้เล็กลงเล็กน้อยโดยใช้whiteแทน#ffffff: ค่าควรเหมือนกัน
llogan

ฉันรู้ว่า. ไม่ใส่ใจพอ จะทำมันตอนนี้
Gyan

#fff ทำงานหรือไม่
ev3commander

ไม่ แต่ฉันสามารถข้าม f ใน f.png ได้
Gyan

16

CSS, 127 128 144ไบต์

body:before,body:after{content:'';float:left;width:33%;height:100%;background:#0055a4}body:after{float:right;background:#ef4135}

ไม่จำเป็นต้องใช้แท็กอื่นใช้งานได้กับbody- องค์ประกอบเท่านั้น

การแก้ไข

  • ที่บันทึกไว้ 16 ไบต์โดยการลบและบางdisplay:block;;
  • ที่บันทึกไว้ 1 ไบต์}ออกต่อท้าย

6
แม้ว่าในทางเทคนิคแล้ว CSS ไม่ใช่ภาษาการเขียนโปรแกรมตามคำจำกัดความของเรา
Conor O'Brien

10
@ CᴏɴᴏʀO'Bʀɪᴇɴฉันรู้ - แค่อยากจะเอาชนะSVG
insertusernamehere

4
@ CᴏɴᴏʀO'Bʀɪᴇɴถูกต้องนี่ไม่ใช่คำตอบที่ถูกต้อง
Mego

2
@ CᴏɴᴏʀO'Bʀɪᴇɴมัน css ถูกบันทึกเป็นไฟล์ SASS เนื่องจาก SASS เป็นภาษาสคริปต์มันจะเป็นคำตอบที่ถูกต้องหรือไม่?
fcalderan

6
ใช่ CSS ปกติเป็นไฟล์ SASS ที่ถูกต้อง
ev3commander

16

JavaScript, 140 143 147 151 153ไบต์

   with(document)with(body.appendChild(createElement`canvas`).getContext`2d`)for(i=2;i--;fillRect(i*52,0,26,52))fillStyle=i?"#ef4135":"#0055a4"


การแก้ไข

  • ที่บันทึกไว้ 2 ไบต์โดยการแทนที่ด้วย2*i*26 i*52ขอขอบคุณที่CᴏɴᴏʀO'Bʀɪᴇɴ
  • บันทึก 4 ไบต์โดยการforปรับโครงสร้าง -loop ใหม่ ขอขอบคุณที่ETHproductions
  • บันทึก 2 ไบต์โดยใช้with-statement ขอขอบคุณที่กล้วยไม้สกุลหวาย
  • บันทึก 2 ไบต์โดยเปลี่ยนการเพิ่มเป็นการลดลง ขอขอบคุณที่ฌอน H
  • ที่บันทึกไว้ 3 ไบต์โดยการแทนที่ด้วยfillStyle=["#0055a4","#ef4135"][i]i?"#ef4135":"#0055a4"

3
2*i*26สามารถกลายเป็น52*iใช่มั้ย
Conor O'Brien

7
@ CᴏɴᴏʀO'Bʀɪᴇɴแน่นอนมันสามารถ ขอบคุณ มันเกินเวลานอนแล้ว
insertusernamehere

2
คุณสามารถโกนออกได้ 2 ไบต์โดยใช้withคำสั่ง:with(document)with(body.appendChild(createElement`canvas`).getContext`2d`)for(i=0;i<2;fillRect(i++*52,0,26,52))fillStyle=["#0055a4","#ef4135"][i]
Dendrobium

2
ประหยัด byte: x=(d=document).body.appendChild(d.createElementcanvas ).getContext2d;for(i=3;--i;x.fillRect(i*52,0,26,52))x.fillStyle=[,"#ef4135","#0055a4"][i]
Shaun H

2
@Dendrobium มันดี ขอบคุณมาก.
insertusernamehere

13

R, 59 ไบต์

frame();rect(0:2/3,0,1:3/3,1,,,c("#0055a4",0,"#ef4135"),NA)

เอาท์พุทจะปรากฏขึ้น:

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

หนึ่งยังสามารถทำ 49 ไบต์ด้วย

barplot(rep(1,3),,0,col=c("#0055a4",0,"#ef4135"))

หากคุณไม่คำนึงถึงแกนและเส้นขอบ:

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


2
อัตราส่วนดูเหมือนผิด ฉันคิดว่าคุณมีอัตราส่วน 2: 3 ในสี่เหลี่ยมผืนผ้าสีเดียวแทนที่จะเป็น 3: 2ratio บนธงทั้งหมด
ทำให้เสียชีวิต

สามารถปรับอัตราส่วนด้วยตนเองโดยปรับขนาดหน้าต่างการลงจุด
flodel

3
เพื่อให้มีคุณสมบัติรายการของคุณควรทำงานนอกกรอบ อย่างอื่นทุกคนสามารถโพสต์โซลูชัน 6 พิกเซลและพูดว่า 'คุณสามารถซูมด้วยตนเอง'
Sanchises

4
คุณพูดว่า 'axes' ฉันพูดว่า 'flag pole'

2
@sanchises: ฉันเป็นฝรั่งเศสและฉันพูด f ** k มัน liberté!
flodel

12

Blitz 2D / 3D , 154 108 ไบต์

สิ่งนี้จะสร้างสิ่งเดียวกันกับตัวอย่างที่ให้ไว้ในคำถาม (ยกเว้น anti-aliasing ที่ขอบซึ่งมีสีต่างกัน)

Graphics 800,533
ClsColor 255,255,255
Cls
Color 0,35,149
Rect 0,0,267,533
Color 237,41,57
Rect 533,0,267,533

เอาท์พุทจะปรากฏขึ้นและดูเหมือนว่านี้:

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


12

Mathematica, 63 94 103 ไบต์

เมื่อฉันเห็นการท้าทายนี้ครั้งแรกฉันคิดว่าน่ารัก! Mathematica เหมาะสำหรับสิ่งนี้! จนกว่าฉันจะสังเกตเห็นว่ามีการห้ามการใช้งานบิวด์อิน:

แต่เดี๋ยวก่อน! ฉันสามารถใช้กราฟแท่ง!

r=RGBColor;BarChart[{1,1,1},ChartStyle->{r@"#0055a4",White,r@"#ef4135"},BarSpacing->0,AspectRatio->2/3]

(ขอบคุณ Martin Büttnerสำหรับการโกนขนาด 5 ไบท์ แต่เพิ่มได้ 16)

ดูเหมือนว่านี้:

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

หากคุณเพิ่ม,Axes->Noneมันดูเหมือนว่านี้:

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

หากคุณไม่สนใจเรื่องเส้นขอบคุณสามารถใช้สิ่งนี้: (95 ไบต์)

r=RGBColor;BarChart[{1,1},ChartStyle->{r@"#0055a4",r@"#ef4135"},BarSpacing->1,AspectRatio->2/3,Axes->None]

ดูเหมือนว่านี้:

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

ไม่มีแกน:

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


3
Axes->None. คุณควรยัง AspectRatio->2/3specifty เปลี่ยนชื่อเป็นเรื่องง่าย:RGBColor นอกจากนี้คุณยังสามารถใช้คำนำหน้าสัญกรณ์ที่จะบันทึกไบต์ที่สองมากขึ้นr=RGBColor;...r["..."] r@"#0055a4"
Martin Ender

BarChart[{1, 1}, ChartStyle -> {RGBColor["#0055a4"], Red}, BarSpacing -> 1]ถ้าคุณไม่จำเป็นต้องร่างให้ลอง สีแดงดูใกล้พอ
DavidC

@DavidCarraher Meh เนื่องจากคำถามระบุค่า RGB เฉพาะว่าควรใช้อย่างใดอย่างหนึ่ง
Martin Ender

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

เส้นขอบรอบ ๆ บาร์จะไม่เป็นโมฆะการแก้ปัญหานี้หรือไม่
LegionMammal978

11

Javascript (ES6) 117 ไบต์

วาดลงในคอนโซล

for(i=c=s=[];i<156;c[i++]=`color:${[,'blue','#fff'][i%3]||(s+=`
`,'red')}`)s+='%c'+'+'.repeat(26);console.log(s,...c)


2
สำหรับ'white'ฉันคิดว่ามันสั้นกว่าที่จะทำ: #fff. นอกจากนี้สีแดงและสีน้ำเงินจะต้องตรงกับสีที่ระบุในสเป็ก
Downgoat

1
คุณสามารถบันทึกไม่กี่ไบต์ด้วยi=c=s=[]แทนที่จะi=0,c=[],s=''อัปเดตสีที่อาจช่วยได้นิดหน่อย ...
Dom Hastings

1
@ Vɪʜᴀɴเมื่อส่งออกเป็นข้อความคุณสามารถใช้สีมาตรฐาน ( redและblue) มันคือจุดที่ 2 นับจากด้านล่าง นี่คือภายใน spec
Ismael Miguel

@DomHastings เคล็ดลับดีใช้การข่มขู่ที่ชาญฉลาด ขอบคุณ!
George Reith

1
@sysreq ข้อความในคอนโซล ... ฉันไม่สามารถควบคุมความสูงของคอนโซลของคุณได้ สูง 78 อักขระกว้าง 52 ตัว
George Reith

10

pb , 68 ไบต์

cw[Y!52]{cccw[X!26]{b[77]>}ccccw[X!52]{b[77]>}cw[X!78]{b[77]>}<[X]v}

ว้าวความท้าทายที่ pb นั้นดีสำหรับ! สิ่งเหล่านี้มีอยู่น้อยและอยู่ห่างไกล

เมื่อฉันเขียนข้อกำหนดสำหรับ pb ฉันรวมเอาท์พุทสีส่วนใหญ่เป็นเรื่องตลก ภาษาได้รับการตั้งชื่อตาม "พู่กัน" ทำไมจึงไม่ทำสี นอกเหนือจากโปรแกรมตัวอย่างนี่เป็นครั้งที่สองที่ฉันเคยใช้ มันถูกนำมาใช้กับรหัส ANSI ตามคำถามที่ต้องการ

ฉันใช้ 'M' เป็นตัวละครในการแสดงผลเพราะมันค่อนข้างหนาแน่น

เอาท์พุท:

ฉันปรับขนาดสกรีนช็อตในแนวตั้งเป็นสองในสามของความสูงเนื่องจากตัวอักษรไม่ได้เป็นรูปสี่เหลี่ยมจัตุรัส ผลลัพธ์คือ 78 x 52 แต่ภาพหน้าจอดั้งเดิมดูผิดไป

ด้วยความคิดเห็นและการเยื้องและขยะ:

c               # Increase output colour by 1
                # 0 (White) -> 1 (Red)
                # Loop ends with output colour == 1, this is cheaper than
                # setting it back to white every time.

w[Y!52]{        # While the brush's Y coordinate is not 52:
    ccc           # Increase output colour by 3
                    # 1 (Red) -> 4 (Blue)

    w[X!26]{      # While the brush's X coordinate is not 26:
        b[77]       # Write 'M' at the brush's coordinates
        >           # Increase X coordinate by 1
    }             

    cccc          # Increase output colour by 4
                    # 4 (Blue) -> 8 mod 8 = 0 (White)

    w[X!52]{      # While the brush's X coordinate is not 52:
        b[77]       # (same as before)
        >         
    }             

    c             # Increase output colour by 1
                    # 0 (White) -> 1 (Red)

    w[X!78]{      # While the brush's X coordinate is not 78:
        b[77]       # (same as before)
        >
    }

    <[X]          # Set X back to 0
    v             # Increase Y by 1
}

78x30 คุณจะได้รับมิติที่คุณต้องการสำหรับเอาท์พุทขั้ว
Mego

@Mego ใช่ แต่ฉันไม่แน่ใจว่ามันได้รับอนุญาต
undergroundmonorail

เอาต์พุตผลลัพธ์บน xterm ในฟอนต์เริ่มต้นตรงกับขนาดที่ระบุ
Mego

ฉันรู้สึกแปลก ๆ ที่วัดขนาดของเอาต์พุตคอนโซลในทุกสิ่งยกเว้น "ตัวอักษร"
undergroundmonorail

1
เมื่อตัวละครของคุณมีความสูง 1.2 เท่ากว้างพวกเขาจะไม่สร้างพิกเซลที่ดีนัก
Mego

10

C, 115 ไบต์

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

#define c"[48;2;%d;%d;%dm%9c"
d=255;main(a){while(a++<9)printf(c c c c,0,85,164,0,d,d,d,0,239,65,53,0,0,0,0,10);}

มี unprintables:

00000000: 2364 6566 696e 6520 6322 1b5b 3438 3b32  #define c".[48;2
00000010: 3b25 643b 2564 3b25 646d 2539 6322 0a64  ;%d;%d;%dm%9c".d
00000020: 3d32 3535 3b6d 6169 6e28 6129 7b77 6869  =255;main(a){whi
00000030: 6c65 2861 2b2b 3c39 2970 7269 6e74 6628  le(a++<9)printf(
00000040: 6320 6320 6320 632c 302c 3835 2c31 3634  c c c c,0,85,164
00000050: 2c30 2c64 2c64 2c64 2c30 2c32 3339 2c36  ,0,d,d,d,0,239,6
00000060: 352c 3533 2c30 2c30 2c30 2c30 2c31 3029  5,53,0,0,0,0,10)
00000070: 3b7d 0a                                  ;}.

เพื่อให้โปรแกรมนี้ทำงานได้สองสิ่งต้องเป็นจริง:

  • เทอร์มินัลรองรับลำดับESC [48;2;<r>;<g>;<b>m"truecolor"
  • เทอร์มินัลไม่ใช่ xterm เนื่องจากการดำเนินการด้านบนของ xterm จะให้สีที่ผิดเล็กน้อย
  • เทอร์มินัลละเว้นอักขระ NUL อย่างสมบูรณ์

นอกจากนี้ยังดูดีกว่าหากพื้นหลังเทอร์มินัลของคุณเป็นสีดำ

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

เอาท์พุท:

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


มีปัญหาในการรวบรวมสิ่งนี้ด้วยgcc(เวอร์ชั่น 5.1.1) ธงใด ๆ ที่จำเป็นในการรวบรวม? "ac: 1: 10: คำเตือน: ISO C99 ต้องการช่องว่างหลังจากชื่อแมโคร #define c" \ x1b [48; 2;% d;% d;% dm "
สตีฟ

1
@Steve นั่นคือคำเตือนข้อผิดพลาดของเรา?
Functino

1
@Steve เพียงแค่ทดสอบอีกครั้ง gcc 5.2.1 ไม่มีธง สร้างคำเตือน 12 ฉบับ แต่สร้างไบนารีที่ใช้งานได้
Functino

ขอโทษ - ทำงานได้ดี - มีสับสนโดยคำเตือน (และความจริงที่ว่ารหัสที่มีลักษณะคลุมเครือสวยที่จะเป็นมือใหม่ C เช่นฉัน)
สตีฟ

9

MATLAB, 82 79 78 ไบต์

x=[0 1 1 0];y(3:4)=2;fill(x,y,[0 85 164]/255,x+1,y,'w',x+2,y,[239 65 53]/255)

ผลลัพธ์ดูเหมือนว่า:


1
MATLAB รุ่นใด ใช้งานไม่ได้กับ r2013a เนื่องจากสีต้องเป็นตัวเลขทศนิยมในช่วง [0,1]
Tom Carpenter

1
บรรทัดต่อไปนี้ใช้งานได้fill(x,y,[0 85 164]/255,x+1,y,'w',x+2,y,[239 65 53]/255)และช่วยให้คุณประหยัด 2 ไบต์ :) ฉันจะใช้เซมิโคลอนแทนการขึ้นบรรทัดใหม่เพื่อหลีกเลี่ยงสิ่งที่พิมพ์ออกมา
Tom Carpenter

1
@TomCarpenter ฉันเว้นระยะห่างกับสเกลสี 0-1 มันใช้เวลาไม่นานเนื่องจากฉันต้องระบุสี สำหรับเครื่องหมายอัฒภาค / บรรทัดใหม่ฉันเลือกอ่านง่ายกว่าการเขียนคอนโซล แต่ฉันเปลี่ยนคำตอบแล้ว
58

9

Visual Basic + Excel, 618 137 ไบต์

แค่อยากรู้ว่าจะสามารถเล่นกอล์ฟนี้ได้อย่างไร

แก้ไข:อยากรู้อยากเห็นขอบคุณ @Neil และ @JimmyJazzx, 618 ไบต์ลดลงไปทางขวาถึง 137 ไบต์

Sub a(): Columns("A:C").ColumnWidth = 26: Range("A1:A13").Interior.Color = RGB(0, 85, 164): Range("C1:C13").Interior.Color = RGB(239, 65, 53): End Sub

ธง Excel


1
การบันทึกแมโครจะทำให้เกิดโค้ดที่ไม่มีประสิทธิภาพมาก ลองRange("A1:C13").Interior.ColorIndex = 5และRange("G1:I13").Interior.ColorIndex = 3สิ่งที่ดูเหมือนจะพอเพียง
Neil

2
ขออภัยนั่นคือ Excel 2003 และฉันลืมที่จะรวมActiveWorkbook.Colorsเพื่อระบุค่า RGB ที่แน่นอน Excel 2007 มีตัวเลือกสีเพิ่มเติม แต่ฉันไม่รู้จักพวกเขาในทันที
Neil

1
ฉันได้รับ 137 ไบต์ด้วยการเปลี่ยนแปลงอย่างรวดเร็วเล็กน้อย ฉันคิดว่าคุณสามารถลดสิ่งนี้ได้มากกว่านี้ แต่เป็นการเปลี่ยนแปลงที่ง่าย Sub a():Columns("A:C").ColumnWidth=26:Range("A1:A13").Interior.Color=RGB(0,85,164):Range("C1:C13").Interior.Color=RGB(239,65,53):End Sub
JimmyJazzx

ฉันได้ 135 กับSub a:Columns("A:C").ColumnWidth=26:Range("A1:A13").Interior.Color=RGB(0,85,164):Range("C1:C13").Interior.Color=RGB(239,65,53):End Sub
Joey

9

CSS, 102 110 111 114ไบต์

*{background:linear-gradient(90deg,#0055a4 33%,#fff 33%,#fff 66%,#ef4135 66%) 0 0/78px 52px no-repeat


1
* *{background:linear-gradient(90deg,#0055a4,#0055a4 33%,#fff 33%,#fff 66%,#ef4135 66%) 0 0/78px 52px no-repeat}- สั้นลงหนึ่งไบต์
user2428118

1
จริง ๆ แล้วมันก็เพียงพอแล้ว :) ขอบคุณ!
Thomas Eschemann

1
+1; }คุณสามารถประหยัดไบต์อื่นโดยการลบต่อท้าย
insertusernamehere

1
คุณสามารถลบสีแรกคุณประหยัด 8 ไบต์
Awashi

คุณสามารถแทนที่สุดท้ายกับ66% 0
Mr_Green


8

iKe , 43 ไบต์

,(0 0;"|"\"#0055A4|#FFF|#EF4135";52#,&3#26)

นี่คือตัวอย่างของ "raw tuple" โปรแกรม iKe- เป็นเพียงคำอธิบายของ Origin ( 0 0), palette ( 3 7#"#0055A4#FFFFFF#EF4135") และ bitmap ( +52#'&3#26) คุณต้องปิดคำอธิบายเช่นนี้ในฟังก์ชั่นหรือใช้การอ้างอิงไปยังมุมมองหากคุณต้องการทำให้เคลื่อนไหว

จานสีเป็นวิธีที่ง่ายมากในการสร้างชุดสี CSS เทียบเท่ากับฐานสิบหกของสเปค

  3 7#"#0055A4#FFFFFF#EF4135"
("#0055A4"
 "#FFFFFF"
 "#EF4135")

หากข้อกำหนดด้านสีมีความเข้มงวดน้อยกว่าเราสามารถใช้หนึ่งในจานสีของ iKe และบันทึกอักขระจำนวนมาก:

windows@7 0 4

ธง

ลองใช้เบราว์เซอร์ของคุณ

แก้ไข:

บันทึกหนึ่งไบต์โดยใช้#FFFสี CSS แบบสั้นสำหรับแถบสีขาว:

,(0 0;3 7#"#0055A4#FFFFFF#EF4135";+52#'&3#26)
,(0 0;"|"\"#0055A4|#FFF|#EF4135";+52#'&3#26)

หากใครสนใจที่จะเล่นกับ iKe มีคู่มืออยู่ที่ ซื้อคืน GitHub นี่คือปัญหาอื่นที่ฉันแก้ไขโดยใช้ iKe

แก้ไข 2:

บันทึกหนึ่งไบต์ด้วยวิธีที่ง่ายกว่าในการสร้างบิตแมป:

+52#'&3#26
52#,&3#26

คำถามของฉันใน OP ยังไม่ได้รับคำตอบ แต่สำหรับเร็กคอร์ดหากต้องการสีที่ยืดหยุ่นมากขึ้นโปรแกรมนี้จะมีขนาด 30 ไบต์โดยใช้จานสี Windows 3.1:

,(0 0;windows@7 0 4;52#,&3#26)

FLAG2

เนื่องจากปัญหานี้ได้รับการโพสต์ iKe ได้รับคุณสมบัติซึ่งจัดกึ่งกลางพื้นผิวที่วาดโดยอัตโนมัติโดยไม่มีตำแหน่งซึ่งสามารถบันทึกอีก 3 ไบต์ แต่สิ่งนี้จะขัดกับกฎ:

,(;windows@7 0 4;52#,&3#26)


7

กำลังประมวลผล 100 ไบต์

size(78,52);background(255);noStroke();fill(#0055A4);rect(0,0,26,52);fill(#EF4135);rect(52,0,26,52);

แสดงสิ่งนี้: ฝรั่งเศส

(โซลูชันไร้เดียงสานั้นสั้นกว่าโซลูชันแรกของฉัน)


ฉันคิดว่าคำสั่งการวาดของการประมวลผลสามารถออกมาก่อนพิกเซลผลักที่นี่:size(78,52);noStroke();int[]p={0xFF0055A4,255,0xFFEF4135};for(int c:p){translate(26,0);fill(c);rect(0,0,-26,52);}
JohnE

@ JohnE Lol ใช่ฉันเพิ่งสังเกตเห็นว่า
geokavel

@ JohnE แม้แต่โซลูชันพื้นฐานขั้นพื้นฐานของฉันก็ยังสั้นกว่าของคุณ!
geokavel

ฮ่าฮ่า - ดูเหมือนว่าเราทั้งสองจะเข้าใจมันมากเกินไป
JohnE

วิธีการเกี่ยวกับการใช้คำแนะนำในระดับที่ผิด? ใช้งานได้บน sketchpad.cc แต่อาจหยุดในการประมวลผล 3:size(78,52);scale(26,52);fill(#EF4135);stroke(#0055A4);rect(0,-1,0,2);stroke(255);rect(1,-1,3,3);
JohnE

7

ทับทิม, 56 47 45 ไบต์

ASCII

$><<"\e[34z\e[37z\e[31z\n".gsub(?z,?m*27)*52

ใช่นี่ดีกว่าของฉัน ยกเว้นแถบกลางจะต้องเป็นสีขาว
iamnotmaynard

@iamnotmaynard จริงแก้ไขแล้ว ขอบคุณ!
Peter Lenkefi

7

PHP, 70 ไบต์

0000000: 424d 0000 0000 0000 0000 2300 0000 0c00  BM........#.....
0000010: 0000 2001 c000 0100 0800 a455 00ff ffff  .. ........U....
0000020: 3541 ef3c 3f66 6f72 283b 3665 343e 2469  5A.<?for(;6e4>$i
0000030: 3b29 6563 686f 2063 6872 2824 692b 2b2f  ;)echo chr($i++/
0000040: 3936 2533 293b                           96%3);

ด้านบนเป็นเลขฐานสิบหกซึ่งอาจกลับรายการxxd -rได้ หรืออาจสร้างด้วยสคริปต์ PHP ต่อไปนี้:

<?=hex2bin('424d0000000000000000230000000c0000002001c00001000800a45500ffffff3541ef3c3f666f72283b3665343e24693b296563686f206368722824692b2b2f39362533293b');

ฉันถือว่าการตั้งค่าเริ่มต้นเนื่องจากไม่มี. ini (คุณอาจปิดการใช้งาน. ini ท้องถิ่นของคุณด้วย-nตัวเลือก) สร้างอิมเมจ. bmp (288 x 192) ซึ่งควรถูกไพพ์ไปยังไฟล์ นี่มีขนาดใหญ่เท่าที่ฉันสามารถทำได้โดยไม่กระทบกับจำนวนไบต์


ตัวอย่างการใช้งาน

$ xxd -r in.hex > france.php
$ php -n france.php > out.bmp
$ out.bmp

เอาท์พุต

ธงฝรั่งเศส


สีเหล่านี้ดูไม่ถูกต้อง พวกเขาใช้ค่า RGB ที่ระบุในคำถามหรือไม่
Doorknob

@ Doorknob พวกเขาทำ เริ่มต้นที่ไบต์ 26 กำหนดค่าสีสามค่า (bgr): A45500, FFFFFF, 3541EF
โม่

6

ShaderToy (GLSL), 147 ไบต์

void mainImage(out vec4 o,vec2 i){float x=i.x/iResolution.x*3.0;vec3 w=vec3(255,255,255);o=vec4((x<1.0?vec3(0,85,164):x<2.0?w:vec3(239,65,53))/w,1);}

ดูที่นี่

ไม่น่าตื่นเต้นเป็นพิเศษ ฉันแน่ใจว่ามีวิธีในการเล่นกอล์ฟเพิ่มขึ้น ฉันจะแตกเมื่อกลับถึงบ้าน


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