วาด ASCII-O'-Lantern สำหรับวันฮาโลวีน


28

วันฮัลโลวีนเกือบจะถึงที่นี่แล้วซึ่งเป็นวันหยุดหลังจากที่คนส่วนใหญ่ต้องการที่จะหย่านมตัวเองด้วยอาหารที่มีน้ำตาลเป็นโพรง

เขียนโปรแกรมที่ใช้จำนวนเต็มบวก หากจำนวนเต็มน้อยกว่า 31 (1 ถึง 30) ให้เอาท์พุทแจ็คโอ - ศิลปะโคมไฟ ASCII นี้โดยมองไปทางขวาราวกับว่ากำลังรอวันฮัลโลวีน:

 _____I_____
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

หากอินพุทเป็น 31 (วันที่เดือนตุลาคมเป็นวันฮาโลวีนเปิดอยู่) ให้ส่งออก ASCII-o'-lantern เดียวกัน แต่มองไปทางซ้าย:

 _____I_____
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|

หากอินพุตมากกว่า 31 ให้ส่งออก ASCII-o'Lantern ที่ดูป่องซึ่งอาจกินขนมมากเกินไป เขาสามารถเผชิญหน้าทั้งซ้ายหรือขวาเนื่องจากความไม่สะดวกอาจสับสน เอาท์พุท:

 _____I_____
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|

หรือ

 _____I_____
| | | | | | |
| | |o| |o| |
| | | |^| | |
| | |XXXXX| |
|_|_|_|_|_|_|

แล้วแต่ว่าคุณจะชอบอะไร มันอาจแตกต่างกันสำหรับตัวเลขที่แตกต่างกันด้านบน 31

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

คำตอบ:


8

JavaScript (ES6), 185 142 140 136 ไบต์

ตอนนี้คุณสามารถทวีตฟักทอง!

n=>` _____I_____
0 4 1
02421
0 |^| 1
031
|_|_|_|_|_|_|`.replace(/\d/g,x=>x-2?x-3?x^n>30?"| |":"| | |":n>31?"XXXXX":"VvVvV":n>31?"o":"^")

อาจยังคงมีห้องพักสำหรับการปรับปรุง ...


ว่าx^n>30เคล็ดลับที่ทำให้ผมสับสนในตอนแรก แต่เมื่อผมทำงานออกสิ่งที่เกิดขึ้นผมลงคอขโมยมันจะปรับปรุงคำตอบของฉัน เป็นการชดเชยฉันให้ upvote มันต่อไป
Neil

8

아희 (Aheui) 914 ไบต์

붕빠뿌빠삮빠싸빠받따싼사주따반따퍄속맣이
숚뽀빠소뚜번범뻐터번선야챠슊산받발따다뿌
분뽀더번투빠뿌삮뿌다뿌쑬섣뽀빠뼈ㅇ뚜범쑬
받발따또싾솒빠쏟싿솓아삲쏠쑧뽀터벋터볼설
뿌뻐뻐뻐선썬뻐퍼섟썫선뻐퍼샧셗뺘쎣뺘뼈선
받따반타파빠빠받따받반타타싾삲빠빠빠빠뿌
숟썭뻐선썭뻐섣썭뻐선썭뻐섣썯터범떠범뻐선
빠싽술빠싽산빠싽삳빠싽숟삮쎨뿌서탸쥬싸셔
쀼이썭솓쀼섣싻이연우섞빠쏠뱐선반노쌹뻐숛
손빠쓞유삯쏢으산뽀쌹쏡야뼈섣싺이셗처솓썱
아솓썲솑쏢삱쏜빠쌄숞뚜범범섩뻐분터뿌뻐튜
번이손쎫ㅇ야샨우쌃이쀼뱔뿌떠뽀투또뿌뽀노
본떠벋뻐떠번떠숃볌쎬볌섩뿌빠뽀펴봄벌뽀뻐
샯이멓삭뭏ㅇㅇ이멓샥뎌뵥뿌븀범이멓삭뭏맣
맣이ㅇ몋섨희ㅇㅇㅇㅇㅇ먛뻐살뽀ㅇ솕멓샮속

ลองที่นี่! (กรุณาคัดลอกและวางรหัสด้วยตนเอง)

Aheui อาจไม่เหมาะสำหรับการเล่นกอล์ฟ แต่มันก็สนุก :)

ขาออก:

N = 10

 _____I_____ 
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

N = 31

 _____I_____ 
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|

N = 40

 _____I_____ 
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|

4

เยลลี่ , 73 ไบต์

“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’b8ị“ I|o^Xv_”
<32ị“o^XV“vX”y¢s13µ¹U31=³¤?Y

โปรแกรมเต็ม
ItItOnline!

อาจเป็นไปได้ที่จะตีกอล์ฟด้วยความช่วยเหลือจากการตีกลับ, ŒḄ.

อย่างไร?

“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’b8ị“ I|o^Xv_” - Link 1, Jack construction
“ẋƥḷỊKNṇ&JƝ¡'Ɲṣ,c;|Ṙɗ.hṿ#⁴ɠ³Ṙṅ’              - a base 250 integer
                               b8            - convert to base 8
                                 ị           - index into
                                  “ I|o^Xv_” - literal " I|o^Xv_"
                                             - makes this, without the line feeds:
                                                _____I_____ 
                                               | | | | | | |
                                               | |o| |o| | |
                                               | | |^| | | |
                                               | |XvXvX| | |
                                               |_|_|_|_|_|_|

<32ị“o^XV“vX”y¢s13µ¹U31=³¤?Y - Main link: n
<32                          - 1 if n is less than 32 else 0
   ị                         - index into
    “o^XV“vX”                - list of strings, ["o^XV","vX"]
             y               - map those characters (o->^ and X->V OR v->X) in string:
              ¢              -    call last link (1) as a nilad
               s13           - split into chunks of length 13
                  µ          - monadic chain separation
                          ?  - ternary if:
                         ¤   -     nilad and links as a nilad
                     31=³    -         31 equals first argument
                   ¹         -     identity (do nothing if true)
                    U        -     upend (reverse each if false)
                           Y - join with line feeds

3

ทับทิม 137 ไบต์

คะแนนใบหน้าซ้ายและหลังวันที่ 31

->n{puts ' _____I_____',(0..4).map{|i|s=[?|]*7*' _'[i/4]
s[5-n/31*2,5]=' | | o| |o |^| VvVvV_|_|_'[i*5,5];s.tr('ovV','^vVoX'[n/32*3,3])}}

Ungolfed ในโปรแกรมทดสอบ

f=->n{
  puts ' _____I_____',                                #Draw top of pumpkin
  (0..4).map{|i|                                      #then 5 more lines
    s=[?|]*7*' _'[i/4]                                #of 7 | separated by space or _ .
    s[5-n/31*2,5]=' | | o| |o |^| VvVvV_|_|_'[i*5,5]  #Add a line of face with 'o' eyes and 'VvVvV' mouth.
    s.tr('ovV','^vVoX'[n/32*3,3])                     #Substitute characters as necessary.
  }
}

f[gets.to_i]

3

ถ่าน , 71 ไบต์

NβA‹β³²τA§o^τεA§XVτφA§XvτθF³«P↑⁵|_»↑⁵←I←×_⁵‖O→↙↙←←ε↙←^↖↓ε↓→φθφθφ¿⁼β³¹‖←

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

คำอธิบาย

Charcoal เป็นภาษาที่ออกแบบมาสำหรับศิลปะ ASCII เอาท์พุทจะถูกวางลงบนผืนผ้าใบซึ่งจะถูกพิมพ์ในตอนท้ายของโปรแกรม

ติดตั้ง

รับอินพุตและคำนวณอักขระใบหน้า:

Nβ        Input number into beta
A‹β³²τ    Assign beta<32 to tau for easy reuse
A§o^τε    Assign appropriate eye character (selected via indexing into "o^") to epsilon
A§XVτφ    Assign outside and middle mouth character to phi
A§Xvτθ    Assign other mouth character to theta

วาดฟักทอง

F³«  »    Do this three times:
P↑⁵       Draw a 5-character line upward (using | by default); don't move the cursor
|_         Draw that string, rightward

หลังจากวนรอบนี้เรามี

| | | 
| | | 
| | | 
| | | 
|_|_|_

ต่อไป:

↑⁵         Draw a 5-character line upward
←I         Draw the stem leftward
←×_⁵       Draw 5 underscores leftward
‖O→       Reflect the canvas rightward, overlapping in the middle

ผล:

 _____I_____ 
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
|_|_|_|_|_|_|

วาดหน้า

เราจะวาดหน้าให้ถูกต้องและเปลี่ยนในภายหลังหากจำเป็น

↙↙←←ε      Move to the correct spot and draw the right eye (our right, pumpkin's left)
↙←^        Move to the correct spot and draw the nose
↖↓ε        Move to the correct spot and draw the left eye
↓→φθφθφ    Move to the correct spot and draw the mouth with alternating characters

ผลลัพธ์ (สำหรับอินพุต31):

 _____I_____ 
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

สะท้อนให้เห็นว่ามันเป็นฮาโลวีน:

¿⁼β³¹      If beta equals 31:
‖←         Reflect canvas leftward

ผลลัพธ์สุดท้าย:

 _____I_____ 
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|

2

Pyth - 84 ไบต์

การบีบอัดฐานแบบแมนนวล

+dj\Im*5\_2Xjb@_MBsMc5@L"^|_V ve"jC"mËÝ8|0càvll+DzSïë¬Ê"7qQ31"Vve"?>Q31"XXo""Vv^

Test Suite


2

PHP, 178 176 171 ไบต์

$e="| | ";$b=($n=$argv[1]-31)?" |^":"^| ";$c=$n<1?VvVvV:XXXXX;$a=$n<1?$b:" |o";echo" _____I_____\n$e$e$e|\n| |$a|$a$e\n$e|$b$e|\n| |",$n?" |$c":"$c| ","$e\n|_|_|_|_|_|_|";

สามารถบันทึก 5 ไบต์ด้วยการแบ่งบรรทัดแบบฟิสิคัล -rทำงานด้วย


1

V , 97 ไบต์

é|6i| Y5PÒ_r $.7|rIGÓ /_
3G3f r^jll.kll.5G3f RVvVvVLá
Àé*ñ30|l2GGkld$PñGñ31|l3GÓÞ/o
5GÓãv/Xñͪ

ลองออนไลน์!

ฉันผิดหวังกับเรื่องนี้นานแค่ไหนที่เปิดออก มันซับซ้อนกว่าปกติเนื่องจาก V สามารถจัดการตัวเลขได้แทบไม่ทันไบต์จำนวนมากมาจากการสร้างเงื่อนไขการแฮ็ก ฉันจะโพสต์คำอธิบายอย่างละเอียด แต่ใช้เวลานานกว่าจะได้มาด้วยดังนั้นฉันอาจจะไปหามันในภายหลัง นี่คือ hexdump:

0000000: e97c 3669 7c20 1b59 3550 d25f 7220 242e  .|6i| .Y5P._r $.
0000010: 377c 7249 47d3 202f 5f0a 3347 3366 2072  7|rIG. /_.3G3f r
0000020: 5e6a 6c6c 2e6b 6c6c 2e35 4733 6620 5256  ^jll.kll.5G3f RV
0000030: 7656 7656 1b4c e10a c0e9 2af1 3330 7c6c  vVvV.L....*.30|l
0000040: 3247 1647 6b6c 6424 50f1 47f1 3331 7c6c  2G.Gkld$P.G.31|l
0000050: 3347 d3de 2f6f 0a35 47d3 e376 2f58 f1cd  3G../o.5G..v/X..
0000060: aa                                       .

FYI สิ่งนี้จะทำงานช้ามาก จะใช้เวลาประมาณ 10 วินาที ฉันรู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นและฉันกำลังหาวิธีแก้ไข


1

Pyth, 76 ไบต์

+dX*11\_5\IjbmX.<.[14d"| "yqQ31<G3?>Q31"XXo""Vv^"c"
|c| |c
|^
|ababa"bt*7"_|

ลองออนไลน์

ไม่ใช้การบีบอัด (ฉันลองใช้สายข้อมูลใบหน้าในเวอร์ชันหนึ่ง แต่มันจบลงที่ความยาวเท่ากัน)


1

Java 7, 237 ไบต์

String c(int n){char a=n==31?94:n>31?'o':32,b=n<31?'^':32;return(" _____I_____ \n~~~~~~|\n~|"+a+"|"+b+"|"+a+"|"+b+"~|\n~~|"+(n>31?94:a)+"|"+b+"~~|\n~"+(n<31?"~|VvVvV|":n==31?"|VvVvV~|":"|XXXXX~|")+" |\n|_|_|_|_|_|_|").replace("~","| ");}

Ungolfed & รหัสการทดสอบ:

ลองที่นี่

class M{
  static String c(int n){
    char a = n == 31
              ? 94
              : n > 31
                 ? 'o'
                 : 32,
         b = n < 31
              ? '^'
              : 32;
    return (" _____I_____ \n~~~~~~|\n~|"+a+"|"+b+"|"+a+"|"+b+"~|\n~~|"
        +(n > 31
           ? 94
           :a)
        +"|"+b+"~~|\n~"
        +(n < 31
           ? "~|VvVvV|"
           : n == 31
              ? "|VvVvV~|"
              : "|XXXXX~|")
        +" |\n|_|_|_|_|_|_|")
      .replace("~", "| ");
  }

  public static void main(String[] a){
    System.out.println(c(12));
    System.out.println();
    System.out.println(c(31));
    System.out.println();
    System.out.println(c(100));
  }
}

เอาท์พุท:

 _____I_____ 
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

 _____I_____ 
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|

 _____I_____ 
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|

ไม่ใช่รหัสฟังก์ชั่นกอล์ฟไม่ใช่โปรแกรมเต็มหรือไม่?
Angzuril

โซลูชัน JavaScript ของ ETHProductions เป็นเพียงฟังก์ชั่นเท่านั้นฉันไม่เห็นว่าทำไมมันจึงแตกต่างสำหรับ Java
brianush1

1

C ++, 222 204 194 ไบต์

-18 ไบต์ขอบคุณ Kevin Cruijssen และ -10 ไบต์สำหรับส่วนบนสุดที่ชัดเจน

using S=std::string;S f(int n){char L[80],o=2*(n>30),i=-1;while(i++<80)L[i]=47<i&i<53?88:i%2?'|':i==20|i==24|i==36?n<32|i>35?94:'o':(i-o)%14?i-o<55?32:95:10;return" _____I_____ "+S(L+o,L+70+o);}

Ungolfed

#include <string>

using S=std::string;
S f(int n){
 char L[80];
 int o=2*(n>30);
 for (int i=0;i<80;i++){
  L[i]=
   (47<i && i<53) ?
   'X' :
   (
    (i%2) ?
    '|' :
    (
     i==20||i==24||i==36 ?
     (n<32||i>35?'^':'o') :
     ((i-o)%14?(i-o<55?' ':'_'):'\n')
    )
   );
 }
 return " _____I_____ " + S(L+o,L+70+o);
}

1
ฉันเพิ่งตั้งโปรแกรมใน C ++ เมื่อหลายปีก่อนดังนั้นฉันจำไม่ได้ว่ามาก แต่เป็นวงเล็บบังคับสำหรับการตรวจสอบแบบไตรภาคหรือไม่? ถ้าไม่คุณสามารถลบได้มาก นอกจากนี้ก็เป็นไปได้ที่จะเปลี่ยน&&ไป&และ||เพื่อ|? โดยสรุปแล้วusing S=std::string;S f(int n){char L[80],o=2*(n>30),i=-1;while(i++<80)L[i]=47<i&i<53?88:i%2?'|':i==20|i==24|i==36?n<32|i>35?94:'o':i-o%14?i-o<55?32:95:10;S t(5,95);return' '+t+'I'+t+' '+S(L+o,L+70+o);}( 202 ไบต์ ) รวบรวมและเรียกใช้หรือไม่
Kevin Cruijssen

1
@KevinCruijssen ใช่คุณพูดถูก เฉพาะวงเล็บที่อยู่รอบ ๆ เท่านั้นi-oจึงจำเป็นต้องมี 204 ไบต์
Karl Napf

1

PHP, 222 ไบต์

for($s=" ".str_pad("I",11,_,2)." \n";$i<5;$i++)$s.=str_pad("",13,$i<4?"| ":"|_")."\n";$p=($a=$argv[1])<31||!($a%2)?2:0;$s=substr_replace($s,$a>31?XXXXX:VvVvV,$p+59,5);$s[$p+31]=$s[$p+35]=($a>31?o:"^");$s[$p+47]="^";echo$s;

เอาท์พุต

input:29
 _____I_____ 
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

input:30
 _____I_____ 
| | | | | | |
| | |^| |^| |
| | | |^| | |
| | |VvVvV| |
|_|_|_|_|_|_|

input:31
 _____I_____ 
| | | | | | |
| |^| |^| | |
| | |^| | | |
| |VvVvV| | |
|_|_|_|_|_|_|

input:32
 _____I_____ 
| | | | | | |
| | |o| |o| |
| | | |^| | |
| | |XXXXX| |
|_|_|_|_|_|_|

input:33
 _____I_____ 
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|

input:34
 _____I_____ 
| | | | | | |
| | |o| |o| |
| | | |^| | |
| | |XXXXX| |
|_|_|_|_|_|_|

input:35
 _____I_____ 
| | | | | | |
| |o| |o| | |
| | |^| | | |
| |XXXXX| | |
|_|_|_|_|_|_|

1

Groovy Script, 273 265 216 202 198 ไบต์

i=args[0]as int
a=i<32?'^| |^':'o| |o'
b=i<32?'VvVvV':'XXXXX'
j=i>30
print" _____I_____\n| | | | | | |\n| |${j?"$a| ":" |$a"}| |\n| | |${j?'^| ':' |^'}| | |\n| |${j?"$b| ":" |$b"}| |\n|_|_|_|_|_|_|"

เวอร์ชันที่ไม่ดี

i = args[0] as int
a = i < 32 ? '^| |^' : 'o| |o'
b = i < 32 ? 'VvVvV' : 'XXXXX'
j = i > 30
print """ _____I_____
| | | | | | |
| |${j ? "$a| " : " |$a"}| |
| | |${j ? '^| ' : ' |^'}| | |
| |${j ? "$b| " : " |$b"}| |
|_|_|_|_|_|_|"""

ลองที่นี่

แก้ไข

ดังที่ติตัสกล่าวถึงฉันสามารถประหยัดขนาดด้วยi < 32แทนที่จะเป็นi in 1..31

แก้ไข 2

นำช่องว่างที่เป็นไปได้ทั้งหมดออกไปรอบตัวดำเนินการ ... ลืมทำในตอนแรก

แก้ไข 3

เขียนเงื่อนไขที่ประกอบใหม่เพื่อใช้ตัวแปรที่บันทึกไว้แทนที่;ด้วยบรรทัดใหม่ลบนิยามตัวแปรที่ชัดเจน

แก้ไข 4

ดังที่Otávioกล่าวไว้ฉันสามารถบันทึกอีก 4 ไบต์ได้หากเปลี่ยนจาก| |${j ? ' |^| | ' : ' | |^| '}| |เป็น| | |${j ? '^| ' : ' |^'}| | |


แล้วจะi < 32เป็นi in 1..31อย่างไร
ติตัส

คุณไม่สามารถกำจัดช่องว่างรอบ ๆ ตัวดำเนินการได้หรือไม่
คดีของกองทุนโมนิกา

ใช่ฉันทำได้ ... ลืมไปทั้งหมดเลยขอบคุณ
Victor A.

เนื่องจากคำสั่ง Groovy สามารถแยกออกจากกันโดยขึ้นบรรทัดใหม่หรือ;และทั้งสองมีความยาว 1 ตัวอักษรฉันแนะนำให้เลือกบรรทัดใหม่เพื่อให้อ่านง่าย และให้ทันกับพฤติกรรมการเข้ารหัสที่ดีได้รับการกำจัดของคนเหล่านั้นและint def
จัดการ

ในprintไตรภาคีอันดับที่ 1 ให้บันทึกเงื่อนไขในตัวแปรเป็น(j=i>30)จากนั้นในการใช้ 2 ครั้งถัดไปjแทนที่จะใช้ซ้ำi>30เงื่อนไขเดิมซ้ำ
จัดการ

1

JavaScript (ES6), 163 125 ไบต์

f=
n=>` _____I_____
3 5 4
30504
3 |^| 4
3121214
|_|_|_|_|_|_|`.replace(/\d/g,c=>(n>31?`oXX`:`^Vv`)[c]||(c-3^n>30?`| |`:`| | |`))
;
<input type=number oninput=o.textContent=f(this.value)><pre id=o>

ขณะนี้ได้ขโมยเคล็ดลับ @ ETH ในการผลิตใบหน้าอย่างไร้ยางอาย การเข้ารหัส: 0เป็นตา1และ2ฟัน3เป็นด้านซ้าย4เป็นด้านขวาและ5เป็นสะพานของจมูก


0

ทับทิมขนาด 168 ไบต์

->i{s=(Zlib.inflate Base64.decode64 "eJxTiAcBTzDJVaOABCG8OCiGycUhyYWVASGYF48EuRTwGhmHZkgckhzMQBKNzIdibEZGgAA2IwFZA1N4").lines;puts i<31?s[0..5]:i<32?s[6..11]:s[12..17]}

อาจไกลจากที่ดีที่สุด ต้องการbase64และzlibไลบรารี

เรียกเป็นฟังก์ชั่นแลมบ์ดา


0

Python 2, 167 ไบต์

i=input()
b='| |';e='^o'[i>31]+b;print'\n'.join(x[::[1,-1][i>30]]for x in[' _____I_____ ','| '*5+b,b+' |'+e+e,b+' | |^| '+b,b+' |'+['VvVvV','X'*5][i>31]+b,'|_'*6+'|'])

-1

C # 6, 223 215 ไบต์

int d=int.Parse(args[0]);var x="| | |\n| |";var s=d<31?" |^| |^| |\n| | | |^"+x+" |VvVvV":(d==31?"^| |^"+x+" |^| "+x+"VvVvV| ":"o| |o"+x+" |^| "+x+"XXXXX| ");Write(" _____I_____\n| | | | "+x+s+"| |\n|_|_|_|_|_|_|");

โปรแกรมทั้งหมดไม่ได้รับการดูแล:

using static System.Console;
namespace Halloween
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int d = int.Parse(args[0]);
            var x = "| | |\n| |";
            var s = d < 31 ? " |^| |^| |\n| | | |^" + x + " |VvVvV" 
                           : (d == 31 ? "^| |^" + x + " |^| " + x + "VvVvV| " 
                                      : "o| |o" + x + " |^| " + x + "XXXXX| ");
            Write(" _____I_____\n| | | | " + x + s + "| |\n|_|_|_|_|_|_|");
        }
    }
}

2
นี่เป็นเพียงรหัสบางส่วนที่ไม่ใช่ฟังก์ชั่นหรือโปรแกรมคุณสามารถคอมไพล์โค้ดได้Func<int, string>ซึ่งโดยปกติจะเป็นวิธีที่สั้นที่สุดในการทำ
TheLethalCoder

1
ฉันเดิมพันที่คุณสามารถบันทึกไบต์บางส่วนโดยการย้ายเงื่อนไขเพื่อแทนการประกาศและการกำหนดWrite s
ติตัส

2
และทำไม\r\nแทนที่จะเป็นเพียงแค่\n?
ติตัส

ไม่มีใครหยุดให้คุณทำมันได้ดีกว่า
IonutC

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