21 ทรงผมของคติ


16

21 ทรงผมของคติ

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

     ___           ,,,           ooo           ===           +++           ###          -*~*-     
    (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

     ***           |||           _/7           )))           (((           xxx           @__      
    (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

     ((_           >X<           '*`           ^^^           )|(           \|/           &&&      
    (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

ใบหน้าที่ไม่ซ้ำใครแต่ละรายการในบรรทัดใหม่ (# คือ ID จำนวนเต็มสำหรับใบหน้า):

     ___      
    (o o)     
ooO--(_)--Ooo #1

     ,,,      
    (o o)     
ooO--(_)--Ooo #2

     ooo      
    (o o)     
ooO--(_)--Ooo #3

     ===      
    (o o)     
ooO--(_)--Ooo #4

     +++      
    (o o)     
ooO--(_)--Ooo #5

     ###      
    (o o)     
ooO--(_)--Ooo #6

    -*~*-     
    (o o)     
ooO--(_)--Ooo #7

     ***      
    (o o)     
ooO--(_)--Ooo #8

     |||      
    (o o)     
ooO--(_)--Ooo #9

     _/7      
    (o o)     
ooO--(_)--Ooo #10

     )))      
    (o o)     
ooO--(_)--Ooo #11

     (((      
    (o o)     
ooO--(_)--Ooo #12

     xxx      
    (o o)     
ooO--(_)--Ooo #13

     @__      
    (o o)     
ooO--(_)--Ooo #14

     ((_      
    (o o)     
ooO--(_)--Ooo #15

     >X<      
    (o o)     
ooO--(_)--Ooo #16

     '*`      
    (o o)     
ooO--(_)--Ooo #17

     ^^^      
    (o o)     
ooO--(_)--Ooo #18

     )|(      
    (o o)     
ooO--(_)--Ooo #19

     \|/      
    (o o)     
ooO--(_)--Ooo #20

     &&&      
    (o o)     
ooO--(_)--Ooo #21

ใบหน้ามีดังนี้:

    hhhhh     
    (o o)     
ooO--(_)--OooS

hทรงผมสันทรายแบบไดนามิกอยู่ที่ไหนและSเป็นยัติภังค์เย็บที่มีศักยภาพ


ตัวอย่าง

การป้อนข้อมูล: [1,2,3,4,5]

เอาท์พุท:

     ___           ,,,           ooo           ===           +++      
    (o o)         (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

การป้อนข้อมูล: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]

เอาท์พุท:

     ___           ,,,           ooo           ===           +++           ###          -*~*-          ***           |||           _/7           )))           (((           xxx           @__           ((_           >X<           '*`           ^^^           )|(           \|/           &&&      
    (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

อินพุต: ["Fraggle Rock"] / [22]/ [-21041024]/[22,23,24,25,26]

เอาท์พุท: Nobody cares.


การป้อนข้อมูล: [1,1,1,1]

เอาท์พุท:

     ___           ___           ___           ___      
    (o o)         (o o)         (o o)         (o o)     
ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-ooO--(_)--Ooo-

กฎระเบียบ

  • การขึ้นบรรทัดใหม่และต่อท้ายบรรทัด / ช่องว่าง / ยัติภังค์นั้นใช้ได้
  • ใบหน้าสามารถเกิดขึ้นได้มากกว่าหนึ่งครั้งในอินพุต
  • หากมีจำนวนที่ไม่ถูกต้องในการป้อนข้อมูลคุณอาจมีพฤติกรรมที่ไม่ได้กำหนด
  • เย็บ:
    • ใบหน้าที่เย็บจะต่อกันด้วยเครื่องหมายยัติภังค์ด้านล่าง (บรรทัดที่ 3)
    • ใบหน้าทั้งหมดจะอยู่ในบรรทัดเดียว (ต่างจากภาพวาดแรก)
  • อินพุตสามารถเป็นดัชนี 0 หรือ 1 โดยมี 20 ค่าสูงสุดสำหรับ 0, 21 สำหรับ 1
  • นี่คือชนะน้อยที่สุดนับไบต์


7
หมายเลข 7 ดูเหมือนว่าจะละเมิดส่วน "ใบหน้าดังต่อไปนี้"
boboquack

10
กรณีทดสอบทั้งหมดของคุณประกอบด้วยยัติภังค์แบบ "ต่อท้าย" ซึ่งดูเหมือนจะขัดแย้งกับสเป็ค
Shaggy

3
คิลรอยอยู่ที่นี่
msh210

2
@MagicOctupusUrn คุณช่วยกรุณาแก้ไขปัญหาของเครื่องหมายยัติภังค์ที่ฉันยกไว้ข้างต้นได้หรือไม่?
Shaggy

คำตอบ:


9

Japt -R , 122 117 113 110 109 107 105 104 103 102 100 99 99 ไบต์

1 ดัชนีพร้อมการห่อดัชนี ฉันตามสเป็คที่นี่ซึ่งต้องการยัติภังค์ระหว่างบรรทัดสุดท้ายของแต่ละหน้ามากกว่ากรณีทดสอบซึ่งรวมยัติภังค์หลังจากบรรทัดสุดท้ายของแต่ละหน้า

[Umg"@__((_>X<'*`^^^)|(\\|/"i"&_,o=+#*|)(x"m³ ò3 i7"-*~"ê)iA"_/7")¡"(o o)"á"O--(_)--O"ûoDÃq-]ûD m¸

ลองมัน

[                                             :Construct an array of 3 elements
Umg"@.../"i"&...x"m³ ò3 i7"-*~"ê)iA"_/7")     :FIRST ELEMENT (F)
U                                             :  Input array
 m                                            :  Map
  g                                           :    Index into
   "@.../"                                    :      Literal string
          i                                   :      Prepend
           "&...x"                            :        Literal string
                  m                           :        Map
                   ³                          :          Repeat 3 times
                     ò3                       :      Split into chucks of 3
                        i7                    :      Insert at 0-based index 7
                          "-*~"ê              :        "-*~" palindromised
                                )             :      End insert
                                 iA"_/7"      :      Insert "_/7" at index 10
                                        )     :  End map
¡"(o o)"Ã                                     :SECOND ELEMENT (S)
¡                                             :  Map input array
 "(o o)"                                      :    Literal string
        Ã                                     :  End map
¡"O...O"ûoDÃq-                                :THIRD ELEMENT (T)
¡                                             :  Map input array
 "O...O"                                      :    Literal string
        ûo                                    :    Centre pad with "o"
          D                                   :      To length 13
           Ã                                  :  End map
            q-                                :  Join with "-"
]                                             :End array
 ûD                                           :Centre pad each string in F & S to length 13 with spaces, does nothing to T as it will always be at least 13 characters long
    m                                         :Map
     ¸                                        :  Join F & S with spaces. Split T on spaces, creating a singleton array which gets cast back to a string on output
                                              :Implicit output, joined with newlines

1
ทำได้ดีมากถึง 100 วิธี Char-mirror ที่เราต้องการจริงๆจะมามีประโยชน์ที่นี่
โอลิเวอร์

นอกจากนี้การห่อของที่&จะใช้ประโยชน์จากเป็นอัจฉริยะ โดยเฉพาะอย่างยิ่งตั้งแต่ที่ทำให้มันเป็นแบบ 1
โอลิเวอร์

มันเป็นวิธีอื่น ๆ 'รอบ; ฉันรู้ว่าฉันสามารถย้ายไปที่&นั่นได้ถ้าฉันทำให้มันเป็นฐานที่ 1;) ยังคงรู้สึกว่ามีสนามกอล์ฟอีกมากที่นี่ แต่มันสายไปแล้วดังนั้นมันจะต้องรอจนกว่าจะถึงวันพรุ่งนี้
Shaggy

6

Python 2 , 209 ไบต์

def f(a):s=t=u='\n';i=0;exec"s+=(\"_,o=+#-*|_)(x@(>'^)\\&_,o=+#**|/)(x_(X*^||&_,o=+#~*|7)(x__<`^(/&\"[a[i]::21]+'*-'*(a[i]==6)).center(14);t+='    (o o)     ';u+='ooO--(_)--Ooo-';i+=1;"*len(a);print s+t+u[:-1]

ลองออนไลน์!

การทำดัชนีแบบ 0 ไม่มีอะไรที่ชาญฉลาดที่นี่เพียงแค่เข้าถึงข้อมูลผ่านการแบ่งส่วนและใช้ exec แทนการวนซ้ำ



6

ถ่าน , 103 102 ไบต์

E²⪫Eθ⎇ι(o o)⪫ײ§ -⁼λ⁶§⪪”|″:αuxkτT↷K[ï�↔ς↨?◧BZ@C←↑⊞A⧴M✂↶ºKf÷H#S⦃J&≔⁰∧5À³≕r‹▷”³λ× ⁹M⁴←⪫EθooO--(_)--Ooo¦-

ลองออนไลน์! การเชื่อมโยงคือการใช้รหัสเวอร์ชันอย่างละเอียด คำอธิบาย:

E²⪫Eθ

วนซ้ำอินพุตสองครั้ง แต่ละผลลัพธ์จะถูกพิมพ์โดยปริยายบนบรรทัดของตัวเอง

⎇ι(o o)

ในวงที่สองเพียงแค่สร้างดวงตา

⪫ײ§ -⁼λ⁶

ห่อทรงผมที่ 6 ใน-s, ทรงผมอื่น ๆ ในช่องว่าง

§⪪”|″:αuxkτT↷K[ï�↔ς↨?◧BZ@C←↑⊞A⧴M✂↶ºKf÷H#S⦃J&≔⁰∧5À³≕r‹▷”³λ

แยกอักขระทรงผมทั้งสามออกจากสตริงที่บีบอัด

× ⁹

ใส่ช่องว่างระหว่างเส้นผมหรือดวงตาทั้งเก้า

M⁴←

เลื่อนไปทางซ้าย 4 ช่อง

⪫EθooO--(_)--Ooo¦-

-พิมพ์ส่วนที่เหลือของใบหน้าที่เข้าร่วมด้วย


6

R , 413 391 ไบต์

ขอบคุณ Giuseppe สำหรับ 22 ไบต์น้อยกว่าและรับได้ต่ำกว่า 400 ไบต์

function(s,n=length(s)){I=intToUtf8
U=utf8ToInt
R=rep
K=cat
a=U("_,o=+#^*|&)(x")
b=c("@__","((_",">X<","'*`","",")|(","\\|/","","-*~*-","_/7")
s[s==7]=22;s[s==10]=23;s[s==18]=7;s[s==21]=10
for(i in s)K(I(c(rep(32,4+(i!=22)),"if"(i<14,R(a[i],3),U(b[i-13])),R(32,5+(i!=22)))))
K("
",I(R(c(R(32,3),40,111,32,111,41,R(32,6)),n)),"
")
K(I(40+R(c(x<-c(71,71,39,5,5),0,55,1,rev(x),5),n)[-(14*n)]))}

ลองออนไลน์!


คุณอาจจะเป็นนามแฝงutf8ToIntและintToUtf8
จูเซปเป้


@Giuseppe จุดดี! ฉันละอายใจที่ดัชนีของฉันแลกเปลี่ยนมันมีราคาแพงมาก ฉันจะทำงานกับมัน
JayCe

@JayCe คุณพลาดอีกหนึ่งrepการตัดทอน:for(i in s)K(I(c(rep<--
Kirill L.

ขอบคุณ @KillillL ! ฉันจะตรวจสอบให้แน่ใจว่าได้รวมสิ่งนี้เมื่อฉันมีเวลาทบทวนรหัส
JayCe

5

JavaScript (ES6), 200 199 ไบต์

คาดว่าอินพุต 1 ดัชนี

a=>[1,0,2].map(y=>a.map(n=>s=y&2?'ooO--(_)--Ooo':`    ${p='( -'[y*n-7?y:2]}${"o o___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*`^^^)|(\\|/&&&".substr(y*n*3,3)}${y?p:')'}    `).join(s[3])).join`
`

ลองออนไลน์!

แสดงความคิดเห็น

a =>                              // given the input array a[]
  [1, 0, 2].map(y =>              // for each row y:
    a.map(n =>                    //   for each integer n in a[]:
      s =                         //     let s be the content of this row
        y & 2 ?                   //     if this is the 3rd row:
          'ooO--(_)--Ooo'         //       use a hardcoded string
        :                         //     else:
          `    ${                 //       append 4 spaces
            p = '( -'[            //       append and save in p:
              y * n - 7 ? y : 2   //         '(' if y = 0 (2nd row)
            ]                     //         ' ' if y = 1 and n != 7
          }${                     //         '-' if y = 1 and n = 7
            "o o___,,,ooo(...)"   //       append the middle pattern (NB: truncated string)
            .substr(y * n * 3, 3) //       which is always the eyes if y = 0
          }${                     //
            y ? p : ')'           //       append p for the 1st row or ')' for the 2nd row
          }    `                  //       append 4 spaces
    ).join(s[3])                  //   join with the 4th character of s (space or hyphen)
  ).join`\n`                      // join with line-feeds

4

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

->a{puts a.map{|i|j="_,o=+# *| )(x    ^  &"[i];(j<?!?%w{@__ ((_ >X< '*` -*~*- )|( \|/ _/7}[i%11-2]:j*3).center(14)}*"","    (o o)     "*k=a.size,"ooO--(_)--Ooo-"*k}

จัดทำดัชนีเป็นศูนย์ ลองออนไลน์!

ทุกสิ่งที่ยากเกิดขึ้นในบรรทัดบนสุด

"_,o=+# *| )(x ^ &"มีทรงผมทั้งหมดที่มีตัวละครเหมือนกัน 3 ตัวซึ่งเราจะเลือกiตัวละครที่jตัวละคร,

ถ้าjไม่ใช่ช่องว่างนิพจน์ต่อไปนี้จะส่งคืนอักขระ 3 ชุด %w{}ถ้ามันเป็นพื้นที่ที่เราเลือกทรงผมที่ถูกต้องจากระหว่าง ทรงผม "คี่" เป็นตัวเลข 6,9,13,14,15,16,18,19 และi%11-2ให้แฮชที่สมบูรณ์แบบเพื่อ0..7

j<?!?%w{@__ ((_ >X< '*` -*~*- )|( \|/ _/7}[i%11-2]:j*3

สิ่งที่เหลืออยู่คือการ pad ถึง 14 ช่องว่าง (กึ่งกลาง) และพิมพ์จำนวน middles / พื้นที่เหมาะสม


คุณสามารถวางวงเล็บไว้ในcenter(14)
Kirill L.


2

Java 8, 273 263 ไบต์

a->{String r[]={"","",""},s="    ",t="ooO--(_)--Ooo",u="(o o)";for(int i:a){r[0]+=s+(i==7?"-":" ")+"___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*`^^^)|(\\|/&&&".split("(?<=\\G...)")[i]+(i==7?"-":" ")+s+" ";r[1]+=s+u+s+" ";r[2]+=t+"-";}return t.join("\n",r);}

ลองออนไลน์

คำอธิบาย:

a->{                       // Method with integer-array parameter and String return-type
  String r[]={"","",""},   //  Result-String, starting at three empty rows
         s="    ",         //  Temp-String of four spaces for the first and second rows
         t="ooO--(_)--Ooo",//  Temp-String for the third row
         u="(o o)";        //  Temp-String for the second row
  for(int i:a){            //  Loop over the input-array
    r[0]+=                 //   Append to the first row:
          s                //    Four spaces
          +(i==7?          //    If the number is 7 (edge-case):
             "-"           //     Append "-"
            :              //    Else:
             " ")          //     Append a single space
          +"___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*`^^^)|(\\|/&&&".split("(?<=\\G...)")[i]
                           //    Append the correct hat based on `i`
          +(i==7?"-":" ")  //    If the number is 7, append "-" again, else a space
          +s+" ";          //    And append five spaces
    r[1]+=                 //   Append to the second row:
          s                //    Four spaces
          +u               //    The head
          +s+" ";          //    Five spaces
    r[2]+=                 //   Append to the third row:
          t                //    The hands and bodies
          +"-";}           //    And the stitch "-"
  return t.join("\n",r);}  //  Return the three rows as single newline delimited String

2

R , 247 242 ไบต์

function(a,n=length(a)){for(i in a)cat(format(h[i],,,,"c",14+!20-i))
cat("
","   (o o)     "*n,"
")
cat("ooO--(_)--Ooo"*n,sep="-")}
"*"=rep
h=readLines(,21)
___
,,,
ooo
===
+++
###
-*~*-
***
|||
_/7
)))
(((
xxx
@__
((_
>X<
'*`
^^^
)|(
\|/
&&&

ลองออนไลน์!

ตอนนี้พยายามที่จะนำ R ไปสู่จำนวนไบต์ที่จัดการได้มากขึ้น ...

เนื่องจากการปรับเปลี่ยนตัวละครใน R นั้นเป็นเรื่องที่ไร้ความหวังฉันจึงตัดสินใจจดรายการรูปแบบใบหน้าและทรงผมทั้งหมดอย่างสมบูรณ์ สำหรับการพิมพ์ทรงผมที่สวยฉันใช้formatฟังก์ชั่นด้วยjustify="centre"ฟังก์ชั่นแต่น่าเสียดายที่เราจำเป็นต้องใช้ตัวอักษรพิเศษสำหรับ padding i==20เพราะformatคำนวณ padding \\|/เช่นถ้าเครื่องหมายถูกหนีเช่น

เวอร์ชันปัจจุบันไม่ใช้เครื่องหมายขีดคั่นต่อท้าย

แก้ไข: มอบเครดิตให้กับ JayCe สำหรับ -2 และ Giuseppe สำหรับ -3 ไบต์


รักวิธีการโดยตรงของคุณ! ฉันไม่ทราบว่าjustify="centre"ฉันสามารถนำมาใช้ซ้ำได้ ลบสองตัวอักษร :"/"=rep
JayCe

อีกสองไบต์ลง:format(h[i],,,,"c",14+!20-i)
Giuseppe

@Giuseppe มันคือ -3 ดังนั้นดียิ่งขึ้น @JayCe ดีมากในความเป็นจริงเราไม่ได้ใช้การคูณอย่างใดอย่างหนึ่งดังนั้นการเอาชนะจึง*ดูดียิ่งขึ้น - ตอนนี้มันคล้ายกับstring * numberการใช้งานทั่วไปกับภาษาอื่น ๆ อีกมากมาย!
คิริลล์ลิตร

2

ค! ( C-Wow 1.1.0), 251 ไบต์

(ต้องมีอาร์กิวเมนต์ที่จะถูกส่งผ่านในการทำงานของโปรแกรมแยกช่องว่าง)

SS("     (o o)     \nooO--(_)--Ooo-",'\n') SS("___A,,,AoooA===A+++A###A-*~*-A***A|||A_/7A)))A(((AxxxA@__A((_A>X<A'*`A^^^A)|(A\\|/A&&&",'A') F(MR("0",A(0),"23"),W("?");E) I(AC,W("     ");RI(TN(A(i))+2);W("     ")); WL I(AC,W(RI(0))); WL I(AC,W(RI(1)));

เวอร์ชันที่ไม่ถูกปรับแต่ง:

STRSPLIT("     (o o)     \nooO--(_)--Ooo-", '\n')
STRSPLIT("___A,,,AoooA===A+++A###A-*~*-A***A|||A_/7A)))A(((AxxxA@__A((_A>X<A'*`A^^^A)|(A\\|/A&&&", 'A')
IF(MATHRANGE("0", ARGS(0), "23"), PRINT("?"); E)
LOOP(ARGC, PRINT("     "); READI(TONUM(ARGS(i)) + 2); PRINT("     "));
PRINTL
LOOP(ARGC, PRINT(READI(0)));
PRINTL
LOOP(ARGC, PRINT(READI(1)));


1

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

->a{puts a.map{|i|(i==6?"-*~*-":i<9?"_,o=+#~*|"[i]*3:"_/7)))(((xxx@__((_>X<'*`^^^)|(\\|/&&&"[3*i-27,3]).center 14}*"","    (o o)     "*k=a.size,"ooO--(_)--Ooo-"*k}

ลองออนไลน์!

0 การจัดทำดัชนี ฉันเล่นซอกับคำตอบของเลเวลริเวอร์เซนต์และพบวิธีอื่นในการเข้ารหัสทรงผม ที่นี่เราปฏิบัติต่อทรงผมแบบ 5 char ที่ "ยาวที่สุด" เป็นกรณีพิเศษลวดลายเล็ก ๆ น้อย ๆ ในส่วนแรกของรายการจะถูกเข้ารหัสโดย 1 ถ่านแต่ละตัวและในส่วนที่สองรูปแบบ 3-char ทั้งหมดจะถูกแสดงอย่างแท้จริงไม่ว่า - ตัวอักษรเหล่านั้นแตกต่างหรือไม่ ในที่สุดก็มาถึงหน้าลิง


1

C (gcc) , 210 212 ไบต์

-4 ไบต์ขอบคุณที่แมวเพดาน ceilingcat(มันเพิ่มขึ้นอีกครั้งเมื่อฉันแก้ไขข้อผิดพลาดที่มีรหัสเดิม)

ตรงไปตรงมาสวย

#define r(s)for(i=!puts("");i<n;printf(s,c,"___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*`^^^)|(\\|/&&&"+x*3,c=x^6?32:45,x=l[i++]));
x,c,i;f(l,n)int*l;{r("%5c%.3s%-6c")r("    (o o)     ")r("ooO--(_)--Ooo-")}

ลองออนไลน์!



1

PowerShell , 187 171 ไบต์

-16 ไบต์ขอบคุณที่ทำให้โกรธ

''+($args|%{($x=' '*4)+($y=' -'[$_-eq6])+("___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*``^^^)|(\|/&&&"|% s*g($_*3)3)+$y+$x;$z++})
"$x(o o)$x "*$z
"ooO--(_)--Ooo-"*$z

ลองออนไลน์!

ดัชนี 0 มีขีดกลางต่อท้าย

คลี่:

''+($args|%{
    ($x=' '*4) + ($y=' -'[$_-eq6]) + 
    ("___,,,ooo===+++###*~****|||_/7)))(((xxx@__((_>X<'*``^^^)|(\|/&&&"|% substring ($_*3) 3) +
    "$y$x ";
    $z++
    })
"$x(o o) $x"*$z
"ooO--(_)--Ooo-"*$z

ไม่มีอะไรแฟนซีเกินไป เฉพาะบรรทัดแรกเท่านั้นที่มีตรรกะที่ดีพอสมควร มันจัดทำดัชนีลงในสายผมโดยใช้$current_entry_value*3และตักก้อนอันนั้นออกมาโดยใช้substringก่อนที่จะรวมกลุ่มก้อนทั้งหมดไว้ในบรรทัดเดียว วิ่งเข้าไปในประเด็นของ `การทิ้งเครื่องหมายรูปหมวกถัดไปทำให้ฉันสงสัยว่าทำไมฉันถึงได้รับข้อผิดพลาดของ IndexOutOfBounds แต่นั่นได้รับการแก้ไขแล้ว ตอนนี้ใช้วิธีที่ดีกว่ามากในการรวมบรรทัดแรก

195 ไบต์เพื่อทำตามข้อมูลจำเพาะของเครื่องหมายยัติภังค์ชั้นนำ / ต่อท้าย


1
ดี 7. คุณสามารถบันทึกไบต์ลองออนไลน์!
mazzy

1
และอีกมากมายลองใช้ออนไลน์!
mazzy


0

Runic Enchantmentsขนาด 313 ไบต์

B6?>8b2*B0il2)?\B" "9a2*
{" ___ "D
{" ,,, "D
{" ooo "D
{" === "D
{" +++ "D
{" ### "D
{"-*~*-"D
{" *** "D
{" ||| "D
{" _/7 "D
{" ))) "D
{" ((( "D
{" xxx "D
{" @__ "D
{" ((_ "D
{" >X< "D
{" '*` "D
{" ^^^ "D
{" )|( "D
{" \|/ "D\
{" &&& "D{
{"    " LLRB͍!{
"-(_)--Ooo-"{*@\~4-:l͍e,:{$ak$"    (o o)     "{*$ak$"ooO-"

ลองออนไลน์!

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

หากอนุญาตให้มีพื้นที่ต่อท้ายมากเกินไปสามารถทำให้สั้นลงได้ 2 ไบต์โดยเว้น4-บรรทัดสุดท้าย +2 ไบต์สำหรับ1-หากสุดท้าย-มีวัตถุประสงค์เพื่อไม่ให้มี (ข้อมูลจำเพาะการจับคู่ละเมิดตัวอย่าง)

อัน " (o o) "น่ารำคาญนั้นไม่สามารถบีบอัดได้เนื่องจากการสร้างมันโดยใช้สิ่งต่าง ๆ เช่น" "4*จบลงด้วยจำนวนไบต์ที่เท่ากันทั้งหมด

ผ่านอินพุต> 21 ทำสิ่งที่สนุก เช่นเดียว 22 ให้โกน

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