โลโก้ Draw the Olympic Games [ปิด]


107

ท้าทาย

วาดโลโก้กีฬาโอลิมปิก ...

โลโก้กีฬาโอลิมปิก

... ในฐานะตัวละคร (เช่น ASCII) ศิลปะ!

ตัวอย่างผลลัพธ์

      * * *               * * *               * * *
  *           *       *           *       *           *
*               *   *               *   *               *
*               * * *               * * *               *
*           *   *   *   *       *   *   *   *           *
  *       *   *       *   *   *   *       *   *       *
      * * *               * * *               * * *
          *               *   *               *
            *           *       *           *
                * * *               * * *

งานศิลปะของคุณไม่จำเป็นต้องเหมือนของฉัน แต่มันต้องเป็นตัวแทนของกีฬาโอลิมปิกดังพอที่จะเป็นที่จดจำได้

กฎระเบียบ

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

ผู้ชนะจะได้รับการคัดเลือกวันที่ 23 กุมภาพันธ์ถนนในตอนท้ายของการแข่งขันกีฬาโอลิมปิกฤดูหนาว 2014


ผู้ได้รับรางวัล


7
20 คะแนนโบนัส อืมทำไมฉันถึงต้องการ 20 คะแนนของฉัน
Justin

21
Hum, นี่คือเครื่องหมายการค้า ...
moala

4
@moala ฉันคิดว่านี่ตกอยู่ภายใต้นโยบายการใช้งานที่เหมาะสม
Nzall

11
สีก็เห็นได้ชัดว่าพวกเขาจะประสานแหวนไม่ได้เป็นเพียงที่ทับซ้อนกัน มีเพียงไม่กี่คนที่เข้าร่วมรายการนี้
Rob Kennedy

6
IANAL ทั้งหมด: ตกลงที่จะเขียนซอฟต์แวร์ที่ดึง O ****** ic R ** gs ไม่ใช่การเรียกใช้ :-)
Carl Witthoft

คำตอบ:


23

APL (82) (-20 = 62)

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

ไม่แน่ใจว่าฉันสามารถเรียกร้องบิต 'สี' ได้หรือไม่ฉันเป็นตัวแทนพวกเขาทุกคนต่างออกไป

2/' ▓█░▓▒'[1+(13↑⍉n)⌈¯13↑⍉32↑¯26↑⌈1.1×11↓n←⍉c,0,2×c,0,2×c←(⍳2/10)∊⌈5+5×1 2∘○¨⍳1e4]

คอนโซล APL ไม่รองรับสีดังนั้นฉันใช้อักขระบล็อกแบบแรเงา (การกำหนด ASCII ชนิดอื่น ๆ จะทำได้ง่ายเหมือนการเปลี่ยนอักขระที่จุดเริ่มต้นของสตริง)

พวกเขาควรดูเหมือนวงกลมที่ไม่ขาด (ขึ้นอยู่กับแบบอักษรของคุณ)

      2/' ▓█░▓▒'[1+(13↑⍉n)⌈¯13↑⍉32↑¯26↑⌈1.1×11↓n←⍉c,0,2×c,0,2×c←(⍳2/10)∊⌈5+5×1 2∘○¨⍳1e4]
    ▓▓▓▓▓▓▓▓▓▓▓▓          ████████████          ▓▓▓▓▓▓▓▓▓▓▓▓    
  ▓▓            ▓▓      ██            ██      ▓▓            ▓▓  
▓▓                ▓▓  ██                ██  ▓▓                ▓▓
▓▓            ░░░░░░░░░░░░          ▒▒▒▒▒▒▒▒▒▒▒▒              ▓▓
▓▓          ░░    ▓▓  ██  ░░      ▒▒    ██  ▓▓  ▒▒            ▓▓
▓▓        ░░      ▓▓  ██    ░░  ▒▒      ██  ▓▓    ▒▒          ▓▓
▓▓        ░░      ▓▓  ██    ░░  ▒▒      ██  ▓▓    ▒▒          ▓▓
▓▓        ░░      ▓▓  ██    ░░  ▒▒      ██  ▓▓    ▒▒          ▓▓
  ▓▓      ░░    ▓▓      ██  ░░  ▒▒    ██      ▓▓  ▒▒        ▓▓  
    ▓▓▓▓▓▓░░▓▓▓▓          ██░░██▒▒████          ▓▓▒▒▓▓▓▓▓▓▓▓    
          ░░                ░░  ▒▒                ▒▒            
            ░░            ░░      ▒▒            ▒▒              
              ░░░░░░░░░░░░          ▒▒▒▒▒▒▒▒▒▒▒▒                

หรือ:

      2/' bByRg'[1+(13↑⍉n)⌈¯13↑⍉32↑¯26↑⌈1.1×11↓n←⍉c,0,2×c,0,2×c←(⍳2/10)∊⌈5+5×1 2∘○¨⍳1e4]
    bbbbbbbbbbbb          BBBBBBBBBBBB          RRRRRRRRRRRR    
  bb            bb      BB            BB      RR            RR  
bb                bb  BB                BB  RR                RR
bb            yyyyyyyyyyyy          gggggggggggg              RR
bb          yy    bb  BB  yy      gg    BB  RR  gg            RR
bb        yy      bb  BB    yy  gg      BB  RR    gg          RR
bb        yy      bb  BB    yy  gg      BB  RR    gg          RR
bb        yy      bb  BB    yy  gg      BB  RR    gg          RR
  bb      yy    bb      BB  yy  gg    BB      RR  gg        RR  
    bbbbbbyybbbb          BByyBBggBBBB          RRggRRRRRRRR    
          yy                yy  gg                gg            
            yy            yy      gg            gg              
              yyyyyyyyyyyy          gggggggggggg                

165

พลเรือจัตวา 64 พื้นฐาน

การเขียนโดยตรงในหน้าจอและหน่วยความจำสี

โครงการ

เอาท์พุท:

เอาท์พุต


นี่คือวิธีที่คุณทำกับสไปรต์


1
มันอัศจรรย์มาก. +1 เราสามารถนับจำนวนไบต์ได้ไหม?
Adam Maras

2
จำไว้ว่าคุณสามารถย่อคำสั่งและหมายเลขบรรทัดด้วย C64 BASIC ได้หากคุณต้องการเล่นกอล์ฟ
Gabriele D'Antona

15
สิ่งเดียวที่ทำให้ฉันรำคาญใจเกี่ยวกับคำตอบนี้คือศิลปะ ASCII นี้เป็นอย่างไร
Justin

10
นี่คือ PETSCII-art
Gabriele D'Antona

7
@Quincunx: เนื่องจากPETSCIIรู้จักกันในชื่อ CBM ASCII สิ่งนี้อาจมีคุณสมบัติ หากคุณต้องการให้ตัวละครอื่นใช้สำหรับการวาดภาพ (เพื่อให้ดูเหมือนศิลปะ ASCII แบบคลาสสิกมากขึ้น) การแทนที่ 160 (ช่องว่างกลับด้าน) ด้วย 42 (เครื่องหมายดอกจัน) ในบรรทัด 100 ควรทำเคล็ดลับ
Heinzi

86

HTML Fiddle - 48 , 35 , 33 ตัวอักษร (ขอบคุณ @Dom และ @cnst!)

OOO<p style="margin:-15px 6px">OO

เอาท์พุท:

enter image description here


2
คุณสามารถบันทึกตัวอักษรขึ้นโดยใช้: OOO<div style="margin:-10px 5px">OOแทน ... (ผมคิดว่ามันจะต้องมีการบล็อกแม้ว่าจึง<div/>)
Dom เฮสติ้งส์

เช่นนี้ไม่ได้ปลอบใจเอาท์พุทคุณจะดีกว่าอย่างการประกวดการแข่งขันกีฬาโอลิมปิกฟรีสไตล์: codegolf.stackexchange.com/q/19050/15168
CousinCocaine

@ DomHastings: โทรดี! คำตอบอัพเดท :)
Briguy37

3
ถ้าอย่างนั้นทำไมรบกวนด้วยdivสามารถใช้pแทน!
cnst

2
@PygameNerd: ขึ้นอยู่กับคำจำกัดความของ "ASCII art": ใช่ถ้าคำจำกัดความของคุณคือ "ASCII อักขระที่จัดเรียงเพื่อสร้างรูปภาพ"; ไม่ถ้าคำจำกัดความของคุณคือ "อักขระ ASCII ในตัวแก้ไขข้อความที่มีความกว้างคงที่เพื่อจัดทำรูปภาพ" สำหรับว่ามันจะถูกส่งออกไปยังคอนโซลเป็น CousinCocaine กล่าวว่าถ้าคำจำกัดความคือ"หน่วยควบคุมหรือตรวจสอบของคอมพิวเตอร์ที่มีแป้นพิมพ์หรือปุ่มสวิตช์ ฯลฯ " จากนั้นเว็บเบราเซอร์เอาท์พุทเป็นส่วนหนึ่งของจอภาพและทำให้คอนโซล (แม้ว่านี่อาจจะไม่ใช่สิ่งที่ OP ต้องการ)
Briguy37

76

ทุบตีในสี - 271 - 20 = 251 - ด้วยแหวนพันกัน;

o='_4mGA  _0mGA  _1mG\n _4m/A \A _0m/A \\_1mA /A \\\n_4mD_3m---_0mD_2m---_1mD\n _4m\A_3m/_4m/A_0m\\_3m\\A_2m/_0m/A_1m\\_2m\A _1m/\n_4mG_3mD_0m---_2mD_1m---\n_3m   A\A /A _2m\A /_1m\n _3mA G  A_2mG\n';o=${o//D/|A   |};o=${o//A/    };o=${o//G/   ---};printf "${o//_/\\e[3}"

ผลลัพธ์:

enter image description here


และเพื่อความสนุกของมันหนึ่ง: 61 - 20 = 41

x='_4mO_3m^_0m0_2m^_1mO\n_3m V _2mV\n';printf "${x//_/\\e[3}"

enter image description here


รุ่น LZ77:

echo H4sIALOY5VIAA12QwRXAIAhD767ghQV8CnYbXYENOnw1YqX1xk8wQGz1UiJKKRFebLX8ARsIs7g0g/djN7CdRAYC7Pf6h+5RVR3foMdTMcqHWlS3jKr5RKO/g25doJdXZ+ii75CseU2zNkGzH6HYCPKhPGmA2Wh3+7mEDHMgb/2cUPYJH2gPhtZxAQAA|base64 -d|zcat

13
มีคำตอบไม่มากนักที่จะได้รับการซ้อนทับกันของวงแหวนดังกล่าวดังนั้นนี่จึงคุ้มค่ากับการโหวตแม้ว่าคะแนนจะสูงขึ้นเล็กน้อย
Peter Taylor

1
bash: !/\\e[3}": event not found:(
Alter Lagos

ฉันคิดว่าเวอร์ชั่นทุบตีของคุณนั้นถูกต้อง - ไม่มีที่ไหนเลยใน OP ที่จะระบุขนาดของกราฟิก - แต่คุณจำเป็นต้องแก้ไขเสียงกริ่ง "V" บางทีตัวหนอน (~) สำหรับก้นวง?
AmeliaBR

@AlterLagos: คุณอาจพบว่าการอัปเดตใช้ได้หรือไม่
Runium

@AmeliaBR: ใช่นั่นเป็นมากกว่าเพื่อความสนุกของมันและไม่ได้หมายความว่าอย่างจริงจัง พยายามด้วยหลากหลาย บางทีนี่อาจเป็นสิ่งที่ชอบมากกว่านี้ใช่ไหม x='54mO53m_50m052m_51mO\n53m U 52mU\n';printf "${x//5/\\e[3}"- (ฉันเป็นคนชั่วร้ายด้วย 5 ที่นี่) หรือแม้กระทั่งอาจจะดีกว่านี้โดยการทับซ้อนกันในใจ: x='54mO53mA50m052mA51mO\n53m U 52mU\n';printf "${x//5/\\e[3}"- แม้ว่ามันอาจดูยุ่งเหยิงกว่าคนอื่น ๆ
Runium

76

Sinclair BASIC บน ZX Spectrum 48K (261 ไบต์)

รายการพื้นฐาน:

BASIC listing

ผลสุดท้าย:

Result

การรันโปรแกรมและการวัดโค้ด:

Program running

รายชื่อพื้นฐานในรูปแบบข้อความ:

5 INK VAL "7": CLS 
10 LET a=VAL "42": LET b=VAL "131": LET c=VAL "40": CIRCLE INK SGN PI;a,b,c: CIRCLE INK PI-PI;a+a+a,b,c: CIRCLE INK VAL "2";VAL "210",b,c
20 LET a=VAL "84": LET b=VAL "87": CIRCLE INK VAL "6";a,b,c: CIRCLE INK VAL "4";a+a,b,c
30 FOR l=PI-PI TO VAL "21": FOR c=PI-PI TO VAL "31": IF ATTR (l,c)<>VAL "63" THEN PRINT INK VAL "8";AT l,c;"*"
40 NEXT c: NEXT l

ไฟล์ TAP พร้อมโปรแกรมเหมาะสำหรับอีมูเลเตอร์หรือเครื่องจริงโดยใช้ DivIDE หรือ DivMMC: http://www.zxprojects.com/images/stories/start/draw_the_olympics_flag.tap


17
ฉันชอบส่วนการทำให้เป็นโรค :)
Thorbjørn Ravn Andersen

1
น่ารักจัง!
pcnThird

การใช้กราฟิกสไปรต์ Z80 นั้นง่ายมาก !! PS ลบ 20 คะแนนสำหรับสี
โทมัส

รู้สึกสกปรกมากที่จะสร้างงานศิลปะตามปกติจากนั้นสร้างงานศิลปะ ASCII จากมัน :)
undergroundmonorail

คุณสามารถรวมซอร์สโค้ดในแบบฟอร์มคัดลอกได้หรือไม่?
Paŭlo Ebermann

44

ดังนั้นฉันอ่านหนังสือไม่ถูกต้องมันเป็น ASCII-art ดังนั้นฉันเดาว่านี่ไม่ถูกต้อง อ๊ะ!


HTML 121 (141 - 20)

<pre style=line-height:3px;letter-spacing:-3px><font color=#06f>O <font color=#000>O <font color=red>O
 <font color=#fa0>O <font color=#193>O

ใน Chrome:

What is this! An Olympic flag for ants?

PHP 103 (123 - 20)

<pre style=line-height:3px;letter-spacing:-3px><?=($f='<font color=')."#06f>O ${f}#000>O ${f}red>O
 ${f}#fa0>O ${f}#193>O";

2
คุณสามารถเข้าใกล้สีได้มากขึ้นโดยไม่มีบทลงโทษ: สีน้ำเงิน: #06f, สีเหลือง: #fa0, สีเขียว:#193
squeamish ossifrage

2
เช่นนี้ไม่ได้ปลอบใจเอาท์พุทคุณจะดีกว่าอย่างการประกวดการแข่งขันกีฬาโอลิมปิกฟรีสไตล์: codegolf.stackexchange.com/q/19050/15168
CousinCocaine

39

Ruby: 198 ตัวอักษร - 20 = 178

a=[*0..9].map{[' ']*35}
d=->c,x,y=0{11.times{|i|7.times{|j|a[y+j][x+i]="^[[3#{c}m#^[[0m"if[248,774,1025,1025,1025,774,248][j]&1<<i!=0}}}
d[4,0]
d[0,12]
d[1,24]
d[3,6,3]
d[2,18,3]
$><<a.map{|r|r*''}*$/

(โปรดทราบว่า^[เป็นอักขระเดียว)

วิ่งตัวอย่าง:

olympic games logo


37

Mathematica - 185

c[x_, y_] := 
 Table[Boole[Abs[(i - x)^2 + (j - y)^2 - 16] < 4], {i, 0, 15}, {j, 0, 
   30}]
MatrixForm@
 Replace[Blue c[5, 4] + Black c[5, 14] + Red c[5, 24] + 
   Yellow c[9, 9] + Green c[9, 19], {0 -> "", 
   c_ + _ | c_ :> Style["*", c]}, {2}]

นี่คือ ouput

enter image description here

อีกเวอร์ชั่นหนึ่งที่อิงจากการแรสเตอร์ของกราฟิกแบบเวกเตอร์

MatrixForm@
 Replace[ImageData@
   Rasterize[
    Graphics[{Blue, Circle[{4, 9}, 4], Black, Circle[{14, 9}, 4], Red,
       Circle[{24, 9}, 4], Yellow, Circle[{9, 4}, 4], Green, 
      Circle[{19, 4}, 4]}], ImageSize -> {30, 15}], {c_ :> 
    Style["*", RGBColor@c]}, {2}]

enter image description here


2
คุณจะได้รับคะแนนสำหรับการส่งออกที่สวยที่สุด
Michael Stern

ทำได้ดีมาก ฉันโพสต์รหัสของคุณเอง
Mr.Wizard

34

PostScript, 203 (-20 = 183)

%!
/Courier findfont 12 scalefont setfont
/l { setrgbcolor translate 20 { 0 30 moveto (*) show 18 rotate } repeat } def
140 200 0 0 1 l 45 -30 1 1 0 l 45 30 0 0 0 l 45 -30 0 1 0 l 45 30 1 0 0 l
showpage

ฉันยืนยันว่าสิ่งนี้นับว่าเป็น "ศิลปะ ASCII" แม้ว่ามันจะไม่ได้เขียนถึงคอนโซล เอาท์พุท:

Olympic Rings

นี่อาจเป็นเรื่องเกี่ยวกับกอล์ฟอีกเล็กน้อย


19
ถ้านี่คือศิลปะ ASCII แน่นอนว่าเป็นสิ่งแรกที่ฉันเห็นโดยใช้เครื่องหมายดอกจันที่หมุน
TheBlastOne

2
ฉันแน่ใจว่ามันจะไม่ใช่ครั้งสุดท้าย
นามแฝง

25

สคริปต์คำสั่งของ Windows - 112 เปอร์เซ็นต์ไบต์

%1%0 @echo. set
%2.= oooo 
%2,=o    o
%1%.%%.%%.%&%1%,%%,%%,%&%1o  %.%%.%  o&%1%.%%.%%.%&%1   %,%%,%&%1   %.%%.%

แหวนโอลิมปิก 100%

และแน่นอนว่าเวอร์ชัน cheat'ish บังคับ - 4 ไบต์

%~n0

บันทึกเป็น:

@echo. oooo  oooo  oooo&echo.o    oo    oo    o&echo.o   oooo  oooo   o&echo. oooo  oooo  oooo&echo.   o    oo    o&echo.    oooo  oooo.cmd

10
เราต้องการคำตอบเพิ่มเติมใน BAT และ CMD :)
#: 35880 Einacio

21

ความพยายามอีกครั้งใน Perl, 130 120

ขอบคุณ manatwork สำหรับความช่วยเหลือในเรื่องนี้

for(qw(15005 40410 802a0 80a28 41414 15005 808 2a0)){$s=sprintf"%20b",hex;$s=~y/01/ #/;print$s.substr(reverse($s),1).$/}

เอาท์พุท:

   # # #         # # #         # # #   
 #       #     #       #     #       # 
#         # # #         # # #         #
#       # #   # #     # #   # #       #
 #     # #     # #   # #     # #     # 
   # # #         # # #         # # #   
        #       #     #       #        
          # # #         # # #          

3
คุณสามารถสำรอง: 4 ตัวอักษรโดยใช้forแทนforeach; 2 ตัวอักษรโดยลบ(… อาร์กิวเมนต์ของ)รอบsprintf(); 2 ตัวอักษรโดยการลบhexพารามิเตอร์ของ; 1 ตัวอักษรโดยใช้y///แทนtr///; 1 ;ตัวละครโดยการเอาสุดท้าย
จัดการ

@ การจัดการขอบคุณ! ฉันไม่เคยได้ยินมาy///ก่อน จะไปดูมันตอนนี้
ossifrage คลื่นไส้

20

Python: 157 140 138 133 122 107 ตัวอักษร

107

(ขอบคุณmanatwork )

for o in"jzd360 1zlpwci 3ydgr29 20pzv5u jzd360 149ytc b8n40".split():print bin(int(o,36))[2:].rjust(34,'0')

ตัวอย่างผลลัพธ์:

0001001000000001001000000001001000
0100000010000100000010000100000010
1000000001001000000001001000000001
0100000110000110000110000110000010
0001001000000001001000000001001000
0000000100000010000100000010000000
0000000001001000000001001000000000

157

print'\n'.join(['{0:b}'.format(o).rjust(39,'0') for o in [45099909288,137984246274,275230249985,276241138945,137984246274,45099909288,1078001920,352343040]])

122

(เพิ่งเริ่มอันนี้ฉันจะพยายามปรับปรุงมัน)

h=lambda x:bin(int("15bb511iun9aqulod22j8d4 ho8skh  "[x::8],36))[2:].rjust(20)
for x in range(8):print h(x)+h(x)[::-1][1:]

ด้วยเอาต์พุตที่ดีกว่า: 120 ตัวอักษร

for o in"jzd360 1zlpwci 3ydgr29 20pzv5u jzd360 149ytc b8n40".split():print bin(int(o,36))[2:].replace('0',' ').rjust(34)

ตัวอย่างผลลัพธ์:

   1  1        1  1        1  1   
 1      1    1      1    1      1 
1        1  1        1  1        1
 1     11    11    11    11     1 
   1  1        1  1        1  1   
       1      1    1      1       
         1  1        1  1         

1
ฐาน 36 เป็นอย่างไร? นี้มี 140 print'\n'.join(['{0:b}'.format(int(o,36)).rjust(39,'0')for o in"kpvbkq0 1re099tu 3ifszg1t 3iwiuayp 1re099tu kpvbkq0 httbls 5trxmo".split()])ตัวอักษร: เกี่ยวกับเวอร์ชั่น“ ดีกว่าเอาท์พุต” คุณสามารถสำรองrjust()พารามิเตอร์ตัวที่สองได้ (และแทรก“ t” ในส่วนหัวของโพสต์นี้)
manatwork

ฉันกำลังมองหาทางออกที่ดีกว่าคุณดูดี!
evuez

1
bin()การปรับปรุงที่ดีกับ แต่ทำไมคุณถึงใช้str()มัน? ของค่าตอบแทนที่มีอยู่แล้วbin() str
จัดการ

3
บรรทัดที่ 5 ไม่ควรเป็น010000010100000101000101000001010000010ใช่มั้ย แหวนสองวงด้านล่างดูหักไปหน่อย
ossifrage คลื่นไส้

@ การทำงานจริง ๆ ไม่ได้คิดอย่างนั้น!
evuez

17

Perl, 177 163

รุ่นที่ได้รับการปรับปรุงต้องขอบคุณ Dom Hastings:

$s=$"x3;print"  .-~-. "x3 .$/." /$s  \\"x3 .$/."|$s$s "x4 ."
 \\$s ./~\\.$s./~\\.$s /
  '-./'$s'\\-/'$s'\\.-'
"."$s |$s"x3 ."
$s "." \\$s  /"x2 ."
$s"."$s'-.-'"x2;

เอาท์พุท:

  .-~-.   .-~-.   .-~-. 
 /     \ /     \ /     \
|       |       |       |       
 \    ./~\.   ./~\.    /
  '-./'   '\-/'   '\.-'
    |       |       |   
     \     / \     /
      '-.-'   '-.-'

2
ไชโยสำหรับ Perl! การประหยัดพิเศษสองสามประการ: แทนที่จะใช้"\n"เป็น$rคุณสามารถใช้$/ค่าเริ่มต้นที่"\n"ขึ้นบรรทัดใหม่ตัวอักษรอาจช่วยให้คุณประหยัดมากขึ้นในสองสถานที่ นอกจากนี้คุณยังสามารถบันทึกถ่าน 1 ขึ้นโดยใช้มากกว่า$s=$"x3 $s=" "หวังว่าจะช่วย!
Dom Hastings

15

C, 257 ไบต์

#include <stdio.h>
d(i,j){int r=35;float x=r,y=0;while(--r>0){char s[8]={29,(((int)y+j)/32)+32,(((int)y+j)%32)+96,(((int)x+i)/32)+32,(((int)x+i)%32)+64,31,'.',0};puts(s);x-=0.2*y;y+=0.2*x;}}main(){d(140,200);d(185,170);d(230,200);d(275,170);d(320,200);}

นี่อาจเป็นเรื่องที่ต้องทำอีกสักหน่อย

สิ่งนี้จะต้องรันบน Tektronix 4010 (หรืออีมูเลเตอร์เช่น xterm -t) เอาท์พุท:

Ooutput

นี่คือศิลปะ ASCII แน่นอนเนื่องจากทั้งหมดล้วนเป็น '.' ตัวละคร และมันจะส่งออกไปยังคอนโซลตามที่ร้องขอ อีมูเลเตอร์ Tektronix บางรุ่นรองรับสี ของฉันไม่ได้ดังนั้นฉันไม่สามารถทำเช่นนั้นได้


12

Java, 181 179 161 156 ไบต์

enum M{M;{System.out.print(new java.math.BigInteger("2b13bp4vx9rreb1742o0tvtpxntx0mgsfw48c4cf",36).toString(2).replaceAll(".{29}","$0\n"));System.exit(1);}}

(จะไม่รวบรวมบน jdk 1.7 ต้องใช้ 1.6 หรือต่ำกว่า)

ผลลัพธ์:

11100011111110001111111000111
10111110111011111011101111101
01111111000111111100011111110
10111100111001110011100111101
11100011111110001111111000111
11111101111101110111110111111
11111111000111111100011111111

แน่นอนไม่ได้เป็นผู้ชนะ แต่มาก็จาวา


2
อะไหล่ 2 ตัวอักษรโดยไม่จับในreplaceAll()'s replaceAll(".{29}","$0\n")แสดงออกปกติและวางกลับส่วนที่จับคู่ทั้งหมด: (อาจมีการแบ่งบรรทัดพิเศษในตอนท้ายของไฟล์ของคุณเนื่องจากฉันนับได้เพียง 181 ตัวอักษรในรหัสที่โพสต์)
manatwork

1
อีกอย่างหนึ่ง: ลบimportและใส่ชื่อแพคเกจโดยตรงในการเรียกคอนสตรัค ที่ลดขนาดลงเหลือ 161 ตัวอักษร
จัดการ

งดเว้นอีก 5 ไบต์โดยการเปลี่ยนไปclass M{static{... enum M{M;{...ขั้นตอนสำคัญต่อไปคือการกำจัด BigInteger เป็นไปได้ไหม? ฉันกำลังพยายามทำเวทมนตร์ด้วย String.format แต่ยังไม่มีผลลัพธ์
Yurii Shylov

12

Haskell, 200

main=mapM(putStrLn.map(\b->if b then '#' else ' '))$(map.map)(\(x,y)->or$map(\(n,m)->(<2).abs.(18-)$sqrt$(n-x)^2+(m-y*2)^2)$[(20,20),(60,20),(100,20),(40,40),(80,40)])$map(zip[0..120].repeat)[0..30]

เอาท์พุท:

            #################                       #################                       #################            
         ########### ###########                 ########### ###########                 ########### ###########         
      #######               #######           #######               #######           #######               #######      
     #####                     #####         #####                     #####         #####                     #####     
   #####                         #####     #####                         #####     #####                         #####   
  #####                           #####   #####                           #####   #####                           #####  
 #####                             ##### #####                             ##### #####                             ##### 
 ####                               #### ####                               #### ####                               #### 
 ####                               #### ####                               #### ####                               #### 
 ###                                 ### ###                                 ### ###                                 ### 
 ####                           #################                       #################                           #### 
 ####                        ########### ###########                 ########### ###########                        #### 
 #####                    #######  ##### #####  #######           #######  ##### #####  #######                    ##### 
  #####                  #####    #####   #####    #####         #####    #####   #####    #####                  #####  
   #####               #####     #####     #####     #####     #####     #####     #####     #####               #####   
     #####            #####    #####         #####    #####   #####    #####         #####    #####            #####     
      #######        #####  #######           #######  ##### #####  #######           #######  #####        #######      
         ########### ###########                 ########### ###########                 ########### ###########         
            #################                       #################                       #################            
                     ###                                 ### ###                                 ###                     
                     ####                               #### ####                               ####                     
                     ####                               #### ####                               ####                     
                     #####                             ##### #####                             #####                     
                      #####                           #####   #####                           #####                      
                       #####                         #####     #####                         #####                       
                         #####                     #####         #####                     #####                         
                          #######               #######           #######               #######                          
                             ########### ###########                 ########### ###########                             
                                #################                       #################                                

golfed ออกจาก:

{-# LANGUAGE NoMonomorphismRestriction #-}

olympMids = [(1,1),(3,1),(5,1),(2,2),(4,2)]
circleRadius = 0.9
circleBorder = 0.1
scaleFactor = 20
verticalScale = 0.5

distance :: Floating a => (a,a) -> (a,a) -> a
distance (x,y) (x2,y2) = sqrt $ (x2-x)^2 + (y2-y)^2

match :: (Floating a, Ord a) => (a,a) -> (a,a) -> Bool
match v v2 = (<circleBorder) . abs . (circleRadius-) $ distance v v2

matchOlymp :: (Floating a, Ord a) => (a,a) -> Bool
matchOlymp v = or $ map (match $ scale v) $ olympMids
  where
    scale (x,y) = (x / scaleFactor, y / scaleFactor / verticalScale)

board :: (Enum a, Num a) => a -> a -> [[(a, a)]]
board lx ly = map (zip [0..lx] . repeat) [0..ly]

printOlymp = mapM (putStrLn . map to) $ (map.map) matchOlymp $ board 120 30

main = printOlymp

to :: Bool -> Char
to True = '#'
to False = ' '

2
ฉันยังคงหัวเราะmap.mapเพราะมันฟังดูตลก : D
Vektorweg

ดูเหมือนว่าจะป่อง ...
SamB

แหวนหรือรหัส?
Vektorweg

ฉันหมายถึงแหวน :-)
SamB เวลา 14:30

11

ทับทิม, 9

p"\044"*5

#satire

กฎอนุญาตสำหรับงานศิลปะที่ดูไม่เหมือนตัวอย่าง แต่ต้อง"เป็นตัวแทนของแหวนโอลิมปิกได้ดีพอที่จะเป็นที่รู้จัก" "แทนแหวนโอลิมปิกดีพอว่ามันเป็นที่รู้จัก"

คุณอาจรู้จักการเป็นตัวแทนของโลโก้โอลิมปิกเกมส์


ตลก :) ในฐานะชาวชิคาโกฉันบอกได้เลยว่าสิ่งที่นายกเทศมนตรีเห็นเมื่อเขาติดพันเกม!
Dean Radcliffe

ในฐานะที่เป็นแวนคูเวอร์ (เกม 2010) ฉันสามารถสร้างความสัมพันธ์ :-)
Darren Stone

8
ฉันรู้สึกเหมือนว่าฉันพลาดเรื่องตลกข้างในที่นี่ :-P
Doorknob

2
@DoorknobofSnow ขออภัยฉันรู้สึกสับสนเกี่ยวกับรหัสตัวอักษร หากคุณไม่ได้รับการเชื่อมต่อระหว่างการแข่งขันกีฬาโอลิมปิกและสัญญาณดอลลาร์ฉันไม่สามารถช่วยคุณได้
AmeliaBR

8
ผลลัพธ์คือ:
$
Roger

11

Javascript - 170 185 189ตัวอักษร

'jzd36071zlpwci73ydgr29720pzv5u7jzd3607149ytc7b8n40'.split(7).map(function(x){a=parseInt(x,36).toString(2);console.log((Array(35-a.length).join(0)+a).replace(/0/g,' '))})

เอาท์พุท:

   1  1        1  1        1  1    
 1      1    1      1    1      1  
1        1  1        1  1        1 
 1     11    11    11    11     1  
   1  1        1  1        1  1    
       1      1    1      1        
         1  1        1  1         

Javascript ที่ 2 - 25 Chars

console.log('O O O\n O O')

เอาท์พุท:

O O O 
 O O 

ที่สองคือขี้เกียจ


1
คุณสามารถสำรอง 2 ตัวอักษรโดยใช้“ 4” เป็นตัวคั่นแทน“.” และใช้ตัวเลข 4 (โดยไม่ใส่เครื่องหมายอัญประกาศ) เป็นsplit()พารามิเตอร์ 2 ตัวอักษรโดยการลบ 2 ;วินาทีสุดท้าย
จัดการ

รุ่น (ปัจจุบัน) Firefox เท่านั้นที่กล่าวมาสามารถลดลงได้มากยิ่งขึ้นถึง 172 'kpvbkq041re099tu43ifszg1t43iwiuayp41sdk52824kpvbkq04httbls45trxmo'.split(4).map(x=>{a=parseInt(x,36).toString(2);console.log(' '.repeat(39-a.length)+a.replace(/0/g,' '))})ตัวอักษร:
จัดการ

ขอขอบคุณเพิ่มคำแนะนำของคุณฉันจะปล่อยให้เบราว์เซอร์เป็นอิสระในตอนนี้
Eduard Florinescu

◯ไม่ใช่ ascii ...
njzk2

@ njzk2 Yup, แก้ไขมันסּ_סּ
Eduard Florinescu

11

เลขฐานสอง! (265 CHARS)

0001111100000000111110000000011111000
0100000001000010000000100001000000010
1000000001111100000000011111000000001
0100000011000011000001100001100000010
0001111100000000111110000000011111000
0000000010000001000001000000100000000
0000000001111100000000011111000000000

มันใหญ่เกินไปที่จะชนะ แต่อย่างน้อยมันก็ดูเท่!


โลโก้โอลิมปิกใน Matrix
user13107

@ user13107 อะไรนะ
Dozer789

10

PHP - 99 (-20?)

 bbbb  ####  rrrr
b    b#    #r    r
b   ybyy  g#gg   r
 bbyb  ##g#  rrrr
   y    yg    g
    yyyy  gggg

นั่นเป็นที่รู้จักอย่างแน่นอน ฉันบอกว่า "สี" ของฉันนับ; มันเป็นตัวแทนที่ใกล้ชิด

หากคุณไม่ชอบสิ่งนั้นนี่คือ

GolfScript - 101 (-20?)

' bbbb  ####  rrrr
b    b#    #r    r
b   ybyy  g#gg   r
 bbyb  ##g#  rrrr
   y    yg    g
    yyyy  gggg'

16
รหัสอยู่ที่ไหน
เลิกทำ

14
@Undo นั่นคือรหัส ;-)
Doorknob

อันที่จริงฉันไม่รู้ PHP นั่นเป็นโปรแกรม PHP / รูปแบบเดียวที่ฉันรู้วิธีการเขียน (แน่นอนว่าฉันผ่านการสอนแล้ว แต่ฉันลืมไปแล้ว)
Justin

2
PHP จะไม่ออกมาเป็น bbbb #### rrrr bb # #rrb ybyy g # gg r bbyb ## g # rrrr y yg g yyyy gggg บนหน้าจอ?
Mr Lister

4
คุณต้องเพิ่มheader("Content-Type: text/plain")ค่าเริ่มต้นสำหรับเว็บเซิร์ฟเวอร์คือ text / html
Kroltan

10

Bash + ImageMagick: 163 ตัวอักษร

e=ellipse
c=,10,5,0,360
convert -size 70x20 xc:black +antialias -stroke white -fill none -draw "$e 10,5$c$e 34,5$c$e 58,5$c$e 22,10$c$e 46,10$c" xpm:-|tr -dc ' .
'

ตัวอย่างผลลัพธ์:

.

     ...........             ...........             ...........
   ....       ....         ....       ....         ....       ....
 ...             ...     ...             ...     ...             ...
..                 ..   ..                 ..   ..                 ..
..                 ..   ..                 ..   ..                 ..
.                ...........             ...........                .
..             ......   ......         ......   ......             ..
..           ...   ..   ..   ...     ...   ..   ..   ...           ..
 ...        ..   ...     ...   ..   ..   ...     ...   ..        ...
   ....     ......         ......   ......         ......     ....
     ...........             ...........             ...........
            ..                 ..   ..                 ..
            ..                 ..   ..                 ..
             ...             ...     ...             ...
               ....       ....         ....       ....
                 ...........             ...........

10

Perl 6: 112 77 56 ตัวอักษร, 75 ไบต์

say flip .ord.base(2).trans("01"=>" @")for"𜜜𢢢񃣡𦶲𜜜䔐㣠".comb
  • สตริง Unicde! (สตริงด้านบนคือ "\ x1C71C \ x228A2 \ x438E1 \ x26DB2 \ x1C71C \ x4510 \ x38E0")
  • .comb ให้รายชื่อของตัวละครที่แยกจากกันในสตริง (ไม่มีอาร์กิวเมนต์อยู่แล้ว)
  • .ord ให้หมายเลขรหัสตัวละครจากตัวละคร
  • .base(2) ส่งคืนสตริงที่มีการเข้ารหัส base-2 ของ Int
  • .trans แทนที่ตัวเลขด้วยช่องว่างและ @ เพื่อการมองเห็นที่ดีขึ้น
  • flip ฝืนตัวละครของสายอักขระเพื่อให้การนำที่ขาดหายไป 0 ไม่ทำให้รูปวาดยุ่งเหยิง
  @@@ @@@@@@
 @ @ @ @ @ @
@ @@@ @@@ @
 @ @@ @@ @@ @@ @
  @@@ @@@@@@
    @ @ @ @
     @@@ @@@

edit2: โซลูชันที่ใหม่กว่าโดยใช้คำ qwote และการเข้ารหัส base-36

say flip :36($_).base(2).trans("01"=>" @")for<2HWC 315U 5XI9 3ESY 2HWC DN4 B8G>
  • <ABC DEF GHI> เป็นไวยากรณ์คำพูดใน perl6 ดังนั้นคุณจะได้รับรายชื่อของ Strings
  • :36($_)สร้าง Int จากสตริงที่เข้ารหัส 36 ฐานใน$_( forตัวแปรเริ่มต้นวนรอบ)

แก้ไข: โซลูชันเก่ามีรูปวาดดีกว่า (คัดลอก) แต่ยาวกว่า:

  say flip :36($_).base(2).trans("01"=>" o")for<KPVBKQ0 1RE099TU 3IFSZG1T 3IWIUAYP 1SDK5282 KPVBKQ0 HTTBLS 5TRXMO>
   ooooooooo
 oooooo
oooooooo
oooooooooo
 oooooooooo
   ooooooooo
        oooo
          oooooo

10

Mathematica 185 175

บันทึก 10 ไบต์ด้วย mathe

วงแหวนด้านล่างคือ ASCII 'O's

ตัวอักษร "O" โปร่งแสงเล็กน้อยใน Century Gothic พิมพ์ 5 ครั้งด้วยขนาดตัวอักษร = 145 คะแนนเครื่องพิมพ์

นี่ไม่ใช่เทอร์มินัลอาร์ต แต่มันน่าพอใจคำนิยามของวิกิพีเดียของศิลปะ Ascii: http://en.wikipedia.org/wiki/ASCII_art

Graphics[{Opacity@.8,Style["O",#]~Text~#2&@@@{{Blue,{-1.5,1}},{Black,{0,1}},{Red,{1.5,1}},{Orange,{-.8,.4}},{Darker@Green,{.8,.4}}}},BaseStyle->{145,FontFamily->"Century Gothic"}]

แหวนโอลิมปิก


2
เช่นนี้ไม่ได้ปลอบใจเอาท์พุทคุณจะดีกว่าอย่างการประกวดการแข่งขันกีฬาโอลิมปิกฟรีสไตล์: codegolf.stackexchange.com/q/19050/15168
CousinCocaine

FontSize -> สามารถลบได้
mathe

@ แมท, ทรู ฉันใช้ขนาดตัวอักษรเพียงเพื่อให้ได้ผลลัพธ์ที่มีขนาดที่เหมาะสม
DavidC

@DavidC ฉันหมายความว่าคุณสามารถแทนที่โดยFontSize -> 145 145
mathe

@mathe ใช่ ขอบคุณ
DavidC

8

JavaScript: 153 ตัวอักษร

ฉันต้องการดูว่าฉันสามารถทำได้เร็วขึ้นโดยใช้พีชคณิตเพื่อกราฟวงกลมจริง ๆ หรือไม่:

s="";c=[3,7,11,7,19,7,7,4,15,4];for(y=10;y>0;y--){s+="\n";for(x=0;x<23;x+=.5){t=1;for(i=0;i<9;i+=2){a=x-c[i];b=y-c[i+1];d=a*a+b*b-9;t&=(d<0?-d:d)>3}s+=t}}

( cเป็นอาร์เรย์ห้าคู่ (x, y), กึ่งกลางของวงกลมแบนเพื่อบันทึกสิบอักขระ)

เอาท์พุท:

1110000000111111111000000011111111100000001111
1000111110001111100011111000111110001111100011
0011111111100111001111111110011100111111111001
0011111111100000001111111110000000111111111001
0011111110000111000011111000011100001111111001
1000111100001111100001110000111110000111100011
1110000000111111111000000011111111100000001111
1111111100111111111001110011111111100111111111
1111111110001111100011111000111110001111111111
1111111111100000001111111110000000111111111111

159 ตัวอักษรสามารถอ่านได้เล็กน้อย:

s="";c=[3,7,11,7,19,7,7,4,15,4];for(y=10;y>0;y--){s+="\n";for(x=0;x<23;x+=.5){t=1;for(i=0;i<9;i+=2){a=x-c[i];b=y-c[i+1];d=a*a+b*b-9;t&=(d<0?-d:d)>3}s+=t?" ":t}}

เอาท์พุท:

   0000000         0000000         0000000    
 000     000     000     000     000     000  
00         00   00         00   00         00 
00         0000000         0000000         00 
00       0000   0000     0000   0000       00 
 000    0000     0000   0000     0000    000  
   0000000         0000000         0000000    
        00         00   00         00         
         000     000     000     000          
           0000000         0000000            

ใน167 ตัวอักษรเรามี "สี":

s="";c=[3,7,11,7,19,7,7,4,15,4];for(y=10;y>0;y--){s+="\n";for(x=0;x<23;x+=.5){t=1;for(i=0;i<9;i+=2){a=x-c[i];b=y-c[i+1];d=a*a+b*b-9;t&=(d<0?-d:d)>3;h=t?i:h}s+=t?" ":h}}

เอาท์พุท:

   8888888         0000000         2222222    
 888     888     000     000     222     222  
88         88   00         00   22         22 
88         8844400         0066622         22 
88       4444   0044     6600   2266       22 
 888    4444     0004   6000     2226    222  
   8888888         0000000         2222222    
        44         44   66         66         
         444     444     666     666          
           4444444         6666666            

และด้วย189 charsฉันสามารถทำให้รัศมีrปรับได้เช่นกัน:

r=5;s="";c=[r,0,2*r+1,r,3*r+2,0,4*r+3,r,5*r+4,0];for(y=-r;y<3*r;y++){s+="\n";for(x=0;x<9*r;x+=.5){t=1;for(i=0;i<9;i+=2){a=x-c[i];b=y-c[i+1];d=a*a+b*b-r*r;t&=(d<0?-d:d)>r;h=t?i:h}s+=t?" ":h}}

http://jsfiddle.net/mblase75/5Q6BX/


7

APL, 8 ตัวอักษร / ไบต์ *

ต่อไปนี้เป็นคำตอบสำหรับการนับถ่านที่ต่ำที่สุด (นี่คือรหัสกอล์ฟหลังจากทั้งหมด)

2 5⍴'○ '

เอาท์พุท:

○ ○ ○
 ○ ○ 

สัญลักษณ์คือ○, ตัวดำเนินการวงกลม APL คุณสามารถใส่ 'O' แทนในกรณีที่คุณต้องการเอาต์พุต ASCII อย่างเคร่งครัด ฉันคิดว่ามันเหมาะที่จะใช้สัญลักษณ์ APL


นี่เป็นเวอร์ชั่นสี (37 ตัวอักษร - 20 = 17 คะแนน)

2 20⍴'m',⍨¯2↓3↓∈(⊂'m○ ^[[3'),⍪'40132 '
                      ‾‾ ← single Esc character, type Ctrl+V Esc on the terminal

เอาต์พุต: ขั้วเอาท์พุทสีวงแหวน ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
*: APL สามารถเขียนด้วยชุดอักขระไบต์เดียว (ดั้งเดิม) ของตัวเองที่จับคู่สัญลักษณ์ APL กับค่า 128 ไบต์บน ดังนั้นเพื่อจุดประสงค์ในการให้คะแนนโปรแกรมของ N chars ที่ใช้อักขระ ASCII และสัญลักษณ์ APLเท่านั้นจึงถือได้ว่ามีความยาว N ไบต์


7

CSS, 1176 922 855 771 ไบต์, -20 สีโบนัส = 751

html,head,title,body{display:block; color:transparent; font:bold 1em/1 monospace; height:0}
link,meta,style{display:none}
:before,:after{float:left; color:#000; white-space:pre;
content:'   @@@@@@@\A  @@@     @@@\A@@         @@ \A            @@\A@@         @@\A@@         @@\A  @@@     @@@\A    @@@@  @'}
html:before{color:blue}
title:before,title:after{color:blue; position:absolute; left:0; top:3em; content:'@@'}
title:after{color:red; top:7em; content:'                                   @@'}
head:after{color:red}
body:before{clear:left; content:'     '}
body:after,html:after{position:relative; top:-5em; color:#EC0;
content:'    @  @@@@\A   @@@     @@@\A  @@         @@\A  @@         @@\A  @@\A  @@         @@\A   @@@     @@@\A     @@@@@@@'}
html:after{color:#090}

CSS เท่านั้นไม่ต้องการมาร์กอัป ดูซอมาร์กกี้เลสที่นี่: http://jsfiddle.net/XcBMV/12/

แหวน

ในสีและมีการทับซ้อนที่ถูกต้อง


6

Perl - 12 ตัวอักษร

say"OOO\nOO"

ตกลงดังนั้นมันจึงไม่ใช่การเรนเดอร์แบบศิลปะโดยเฉพาะ ;-)

น่ารักกว่าเล็กน้อย:

perl -MTerm::ANSIColor=:constants -E'say ON_BRIGHT_WHITE,BLUE,O,BLACK,O,RED,O,$/,YELLOW,O,GREEN,O,RESET'

6

GAS Assembly ตัวโหลดไบออส BIOS 16 บิต - 617 - 20 = 597

จะบ้าบนความยาวที่นี่ดังนั้นเพื่อความสนุกของมัน


มันไม่โหลดมากนัก แต่โหลดโลโก้ The Olympic Games เป็น ASCII ด้วยสี;)

รหัส:

.code16;S:jmp o;nop;o:mov $1984,%ax;mov %ax,%ds;mov %ax,%es;movw $t,%si;r:lodsb;or %al,%al;jz q;cmp $33,%al;jg k;movb $0,c;call X;inc %dh;mov $0,%dl;call G;jmp r;k:sub $48,%al;mov %al,%cl;add %al,c;lodsb;cmp $32,%al;je v;mov %al,%bl;and $15,%bl;mov $35,%al;v:mov $9,%ah;mov $0,%bh;mov $0,%ch;int $16;call X;mov c,%dl;call G;jmp r;q:ret;G:mov $2,%ah;int $16;X:mov $3,%ah;mov $0,%bh;int $16;ret;c:.byte 0;t:.asciz "3 5A9 5H9 5D!1 1A7 1A5 1H7 1H5 1D7 1D!1A9 1A4N9 1H4B9 1D!1A7 1N1 1A3 1H1 1N5 1B1 1H3 1D1 1B7 1D!1 1A5 1N1 1A5 1H1 1N3 1B1 1H5 1D1 1B5 1D!3 4A1N9 4H1B9 5D!8 1N7 1N5 1B7 1B!9 1 5N9 5B!";.=S+510;.word 0xaa55

(Linux) สร้างและแยกอิมเมจ MBR

as -o olymp.o olymp.S
objcopy -O binary olymp.o olymp.img

ทำงานในโปรแกรมจำลอง

(ยังไม่ได้ทดสอบบนคอมพิวเตอร์ที่บ้านของฉัน ... )

qemu-system-i386 olymp.img

ผลลัพธ์

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


4
คุณแน่ใจหรือไม่ว่าจะไม่ใช้ทรัพยากรจากภายนอกสู่สุดขั้วใช่ไหม? +1
Adam Maras

@ AdamMaras: ใช่และนั่นคือ;) ต้องลอง ถัดไปคือการรวมระบบปฏิบัติการจริง O`Loader II
Runium

จะให้คะแนนอย่างไรถ้าคุณวัดไบนารีโดยสมมติว่าดิสก์นั้นมีบูตเซกเตอร์อยู่แล้วคุณจึงสามารถข้าม 55h AAh ได้ในตอนท้าย (พร้อมกับการขยายที่เกี่ยวข้อง)
SamB

@SamB: นั่นคือ 275 ไบต์, 255 pt โดยที่ส่วนของรหัสประมาณ 91 ไบต์และตัวแปร + ข้อมูลพล็อต 184 ไบต์
Runium

5

TI-Basic (16 ไบต์)

หมายเหตุ: TI-Basic ถูกโทเค็น ถ้าฉันจำได้อย่างถูกต้องClrHomeและDispเป็นโทเค็นหนึ่งไบต์

ClrHome
Disp "O O O"," O O

4
#include<iostream.h>
#include<conio.h>
#define tc textcolor

void circle(int x,int y,int k)
{
  tc(k);
  int n;
  for(n=0;n<=6;n++)
  {

    if(n==0||n==6)
    {
      gotoxy(x+3,y+n);
      cprintf("* * *");
    }
    else if(n==1||n==5)
    {
      gotoxy(x+1,y+n);
      cprintf("*");
      gotoxy(x+9,y+n);
      cprintf("*");
    }
    else if(n>1&&n<5)
    {
      gotoxy(x,y+n);
      cprintf("*");
      gotoxy(x+10,y+n);
      cprintf("*");
    }
  }
}

void main()
{
  clrscr();
  circle(1,1,BLUE);
  circle(14,1,WHITE);
  circle(27,1,RED);
  circle(8,4,YELLOW);
  circle(21,4,GREEN);
  _setcursortype(0);
  getch();
}

ทำในคอมไพเลอร์เทอร์โบ c ++ 3.0  พยายามทำให้รหัสสั้นที่สุด


7
1) โปรดใช้ Markdown เพื่อทำเครื่องหมายบล็อครหัสและให้สามารถอ่านรหัสที่โพสต์ไว้ได้ 2) เนื่องจากนี่เป็นความท้าทายของcode-golfกรุณาพยายามลดขนาดรหัสของคุณให้เท่าที่จำเป็น 3) โปรดเพิ่มบรรทัดหัวเรื่องลงในคำตอบของคุณ (เน้นที่มาร์กอัปบางส่วนตามที่คุณต้องการ (โดยปกติคือส่วนหัว 1หรือตัวหนา )) ระบุภาษาที่ใช้ความยาวของรหัสและคะแนนที่ได้รับ
จัดการ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.