21
\$\begingroup\$

Generate the following soccer team ASCII art with the least number of bytes possible.

   |.|      |.|      |.|      |.|      |.|      |.|      |.|      |.|   
   ]^[      ]^[      ]^[      ]^[      ]^[      ]^[      ]^[      ]^[   
 /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  
{<| 8 |>}{<| 6 |>}{<| 1 |>}{<| 3 |>}{<| 7 |>}{<| 5 |>}{<| 4 |>}{<| 2 |>} 
 \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/ 
  /   \    /   \    /   \    /   \    /   \    /   \    /   \    /   \   
 /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  
 | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  
 (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  
 |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (| 
(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)

Note that the players' feet alternate between (.|,.,|,) and its mirror, but their eyes all point the same direction `-'.

Score

Least number of bytes wins!

Rules

  • Standard loop holes apply
  • Any amount of trailing/leading white space legal.
\$\endgroup\$
  • 10
    \$\begingroup\$ Well, there isn't only 8 players in a soccer team, but... \$\endgroup\$ – Iacchus May 7 '17 at 4:04
  • \$\begingroup\$ Are leading spaces allowed? \$\endgroup\$ – Shaggy May 7 '17 at 7:05
  • 5
    \$\begingroup\$ @lacchus also most soccer players have two eyes, not one. I guess they look surprised. \$\endgroup\$ – Level River St May 7 '17 at 8:35
  • 1
    \$\begingroup\$ This comma/dot alternation on left/right feet ruins my plans ... O_o \$\endgroup\$ – Arnauld May 7 '17 at 10:11
  • 6
    \$\begingroup\$ The alternating feet are well-camouflaged, a bit like a chameleon (challenge). \$\endgroup\$ – xnor May 7 '17 at 10:17

18 Answers 18

12
\$\begingroup\$

Charcoal, 106 95 92 91 79 77 bytes

”∨+!rþW∕oc	σ<7↗OKd↶!(⊞”«5βG◨“Oc∕)ÿ6T”‖B←→→→,F³‖MJ⁹¦³F6137542«ιM⁸→»↑F⁸«M⁸←←'

Try it online! Edit: Saved 11 bytes by looping over the shirt numbers. Saved 3 bytes by working out how worked. Saved a further byte by using separate mirror instructions. Saved 12 bytes thanks to @ASCII-only by compressing the half player string. Saved 2 bytes by repeating the mirror in a loop. Explanation:

”∨+!rþW∕oc	σ<7↗OKd↶!(⊞”«5βG◨“Oc∕)ÿ6T”
            Print the right half of a player as a compressed string
‖B←         Butterfly to create the left half of the player
→→→,        Fix up the left foot
F³‖M        Mirror three times to end up with 8 footballers
J⁹¦³F6137542«ιM⁸→»↑
            Fix up the shirt numbers
F⁸«M⁸←←'    Fix up the right eyes

Edit: The above code no longer works in current Charcoal; the string compression appears to have changed and the reflect command now accepts a multidirection and leaves the cursor in a different position. However it's possible to adapt the code to run in current charcoal for the same byte count. Try it online! Link is to verbose version of code. (Note that the deverbosifier tries to compress 6137542 for some reason although it's unnecessary.) It then becomes possible to golf a further byte off. Try it online! Link is to verbose version of code.

\$\endgroup\$
  • \$\begingroup\$ charcoal can beat SOGL with compression: 78 bytes, how to generate - copy+paste, -sl is only to show length, that can be left out \$\endgroup\$ – ASCII-only May 8 '17 at 0:38
  • \$\begingroup\$ @ASCII-only Thanks, although you accidentally lost the last ', but fortunately I spotted the mistake before saving the edit. \$\endgroup\$ – Neil May 8 '17 at 23:52
10
\$\begingroup\$

Brainf**k, 855 852 bytes

That's too long...

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

Explanation:

+++++[
    >++++++ AT CELL1
    >+++++++++ AT CELL2
    >+++++++++ AT CELL3
    >>+++++[ AT CELL5
        <+++++>-
    ] CELL4 = 25
    >++ AT CELL6
    <<<<<<-
]
>++ CELL1 = 32
>+ CELL2 = 46
>+ CELL3 = 46
>- CELL4 = 124
CELL5 = 0
CELL6 = 10
<<<< AT CELL0
++++++++[
    >...>>>.<.>.<<<...<- PRINT FIRST LINE*8
]
>>>>>>. AT CELL6
<<<<[ AT CELL2
    >>>++<<<-
]
CELL2 = 0
CELL3 = 46
CELL4 = 124
CELL5 = 92
++++++++[ AT CELL2
    <...>>>>+.+.---.+<<<<...>- PRINT SECOND LINE*8
]
>>>>. AT CELL6
NOW PRINT 47 126 96 45 39 126 92
<<++ CELL4 = 126
<< AT CELL2
++++++++[
    <.>>+.>.>++++.----<<--.------.+++++++>.>.<<<<.>- PRINT THIRD LINE*8
]
>>>>. AT CELL6
NOW PRINT 123 60 124 32 NUMBER 32 124 62 125
CELL3 = 46
<<<<+++++ AT CELL2
[
    >+++<-
]
CELL2 = 0
<[>+<-]>
CELL2 = 32
CELL3 = 61
CELL4 = 126
CELL5 = 92
>>>>> AT CELL7
> AT CELL8
+++++++[
    <+++++++>-
]
AT CELL8
<+ CELL7 = 50
[>+>+>+>+>+>+>+>+<<<<<<<<-]
CELL7 = 0
CELL 8 9 10 11 12 13 14 15 = 50
>++++++>++++>->+>+++++>+++>++<<<<<<<
AT CELL7
<<<<<<
AT CELL1
CELL2 = 32
CELL3 = 61
CELL4 = 126
CELL5 = 92
++++++++[
    PRINT 123 60 124 32 NUMBER 32 124 62 125
    >>>---. AT CELL4
    <-. AT CELL 3
    >+. AT CELL4
    <<. AT CELL2
    PRINT 56 54 49 51 55 53 52 50
    EACH TIME MOVES CELL2 TO CELL5
    >>>>>>.
    [-] CLEAR CELL8
    <
    <[>+<-] CELL6 TO CELL7
    <[>+<-] CELL5 TO CELL6
    <[>+<-] CELL4 TO CELL5
    <[>+<-] CELL3 TO CELL4
    <[>+<-] CELL2 TO CELL3
    <[>+<-] CELL1 TO CELL2
    AT CELL1
    CELL3 = 32
    CELL4 = 61
    CELL5 = 126
    CELL6 = 92
    >>.>>.<++.->+.+<<<-
]
AT CELL9
CELL9 = 0
CELL10 = 32
CELL11 = 61
CELL12 = 126
CELL13 = 92
CELL14 = 10
>>>>>.
<<
--
CELL12 = 124
<
--------------
CELL11 = 47
<<++++++++[ AT CELL9
    PRINT 32 92 124 95 95 95 124 47 32
    >.>>>.<.>+++...---<.<.<.<-
]
>>>>>.
<<<<<++++++++[
    PRINT 32 32 47 32 32 32 92 32 32
    >..>.<...>>>.<<<..<-
]
>>>>>.
<<<<<++++++++[
    PRINT 32 47 95 95 124 95 95 92 32
    >.>.>>+++..<.>..---.<<<.<-
]
>>>>>.
<<<<<++++++++[
    PRINT 32 124 32 47 32 92 32 124 32
    >.>>.<<.>.<.>>>.<<<.>>.<<.<-
]
>>>>>.
<<<<<++++++++[
    PRINT 32 40 47 32 32 32 92 41 32
    >.>-------.+++++++.<...>>>.<<------.++++++<.<-
]
>>>>>.
<<<<<++++++++[
    PRINT 32 124 41 32 32 32 40 124 32
    >.>>.<------.<...>-.+++++++>.<<.<-
]
>>>>>.
<<<-
<++++++++
CELL10 = 40
CELL11 = 46
CELL12 = 124
<++++[
    PRINT 40 46 124 44 46 44 124 44 41
    >.>.>.<--.++.--.>.<.<+.
    PRINT 40 44 124 44 46 44 124 46 41
    -.>.>.<.++.--.>.<++.<+.-<-
]
\$\endgroup\$
  • \$\begingroup\$ 1. You have some leftover *s which add 3 bytes, so your bytes right now should be 852. 2. You can replace [-] with ,, because some interpreter out there on no more input outputs 0x00 \$\endgroup\$ – dzaima May 7 '17 at 20:55
8
\$\begingroup\$

V, 127 bytes

i³ |.|
³ ]^[
 /~`-'~\
 \|³_|/
  /³ \
 /__|__\
 | / \ |
 (/³_\)
 |)³_(|  8ä{3Go86137542Ó./{<| & |>}
Gï2i(.|,.,|,)hr.%lr,|4ä$

Try it online!

As usual, here is a hexdump:

00000000: 69b3 207c 2e7c 0ab3 205d 5e5b 0a20 2f7e  i. |.|.. ]^[. /~
00000010: 602d 277e 5c0a 205c 7cb3 5f7c 2f0a 2020  `-'~\. \|._|/.  
00000020: 2fb3 205c 0a20 2f5f 5f7c 5f5f 5c0a 207c  /. \. /__|__\. |
00000030: 202f 205c 207c 0a20 282f b35f 5c29 0a20   / \ |. (/._\). 
00000040: 7c29 b35f 287c 2020 1b38 e416 7b33 476f  |)._(|  .8..{3Go
00000050: 3836 3133 3735 3432 1bd3 2e2f 7b3c 7c20  86137542.../{<| 
00000060: 2620 7c3e 7d0a 47ef 3269 282e 7c2c 2e2c  & |>}.G.2i(.|,.,
00000070: 7c2c 291b 6872 2e25 6c72 2c7c 34e4 24    |,).hr.%lr,|4.$
\$\endgroup\$
6
\$\begingroup\$

SOGL, 92 88 87 85 bytes

T◄ηψΚc∆╗*≥ζ≠/βW;θ/8ž⅔┌*lη.7¾η┐ø┘<ΟpC1ΧB‘-”ο⁸z╗≠#▲ķOjξ³Y3²‘čŗ9n8*č x"⁴⁾Jχ“r"}▓v#Χ⁶‘+čŗ

Explanation:

...‘                               push a compressed version of a soccer player
    -”                             push "-"
      ...‘č                        push ".]^[/~`-'~\\{<x>}" chopped into an array
           ŗ                       replace [in the player, "-", with each corresponding character]
            9n                     split into an array with each line with the length 9
              8*                   multiply 8 times horizonally
                č                  join into a multi-line string
                  x                push "x"
                   "...“r          push 86137542 converted to string
                         "...‘+    append to that ".,,..,,..,,..,,."
                               č   chop into an array of the chars
                                ŗ  replace [in the multi-line string, "x", with corresponding chars from "86137542.,,..,,..,,..,,."]

The compressed string is

   |-|      ---    ------- --| - |-- \\|___|/   /   \\   /__|__\\  | / \\ |  (/   \\)  |)   (| (x|,.,|x)

with dashes (because those could be compressed with boxstrings) in place of uncommon chars, which then get replaced and then split in lines to get

   |.|   
   ]^[   
 /~`-'~\ 
{<| x |>}
 \|___|/ 
  /   \  
 /__|__\ 
 | / \ | 
 (/   \) 
 |)   (| 
(x|,.,|x)
\$\endgroup\$
6
\$\begingroup\$

JavaScript (ES6), 196 194 214 210 204 bytes

Early morning golf on my phone again, so there's room for improvement.

Had to sacrifice a few bytes fixing the feet which I didn't notice were alternating.

_=>`   |.|   
   ]^[   
 /~\`-'~\\ 
{<| 0 |>}
 \\|___|/ 
  /   \\  
 /__|__\\ 
 | / \\ | 
 (/   \\) 
 |)   (| 
(1|,.,|2)`.replace(/.+/g,x=>x.repeat(8)).replace(/\d/g,x=>`,.86137542`[x--?(z+=x)%2:++z],z=1)

Try it

o.innerText=(

_=>`   |.|   
   ]^[   
 /~\`-'~\\ 
{<| 0 |>}
 \\|___|/ 
  /   \\  
 /__|__\\ 
 | / \\ | 
 (/   \\) 
 |)   (| 
(1|,.,|2)`.replace(/.+/g,x=>x.repeat(8)).replace(/\d/g,x=>`,.86137542`[x--?(z+=x)%2:++z],z=1)

)()
<pre id=o>


(Outdated) Explanation

We start with a string containing the characters for a single player with each line separated by an n, a 0 as the placeholder for the number and with 1 & 2 used as placeholders for the punctuation marks in the alternating feet.

We split the string to an array of the individual lines on n, map over that array replacing each element with itself repeated 8 time and then join the array to a string using a literal newline.

Finally, we replace each number in the string with either the required player number if the number is 0 or the necessary character to complete the player's feet if the number is 1 or 2.

\$\endgroup\$
4
\$\begingroup\$

Ruby, 161

puts"|.|+]^[+/~`-'~\\+{<| %d |>}+\\|___|/+/   \\+/__|__\\+| / \\ |+(/   \\)+|)   (|+(.|,.,|,)(,|,.,|.)".split(?+).map{|i|(i.center(9)*8%[8,6,1,3,7,5,4,2])[0,72]}

Now with alternating feet. Internally it generates 8 double sets of feet (total 16). Some of these are then removed by truncating to 72 characters per line.

Ruby, 144

puts"|.|+]^[+/~`-'~\\+{<| %d |>}+\\|___|/+/   \\+/__|__\\+| / \\ |+(/   \\)+|)   (|+(.|,.,|,)".split(?+).map{|i|i.center(9)*8%[8,6,1,3,7,5,4,2]}

Fairly simple, prints line by line, 8 partial footballers at a time and uses the % operator (like sprintf) to substitute the shirt numbers (when the string does not contain %d they are ignored.)

\$\endgroup\$
  • \$\begingroup\$ I don't think this answer prints the feet correctly. \$\endgroup\$ – Neil May 7 '17 at 10:13
  • \$\begingroup\$ @Neil fixed. The alternating feet were very subtle, you should have pointed them out in the spec. \$\endgroup\$ – Level River St May 7 '17 at 10:58
  • 1
    \$\begingroup\$ Different Neil, sorry. \$\endgroup\$ – Neil May 7 '17 at 11:41
4
\$\begingroup\$

Java, 391 444 bytes

EDIT: Truly fixed. God, that really made the size go up

class a{static void l(String s){for(int i=0;i<8;i++)System.out.print(s);System.out.println();}static void q(){int[] a={8,6,1,3,7,5,4,2};l("   |.|   ");l("   |.|   ");l("   ]^[   ");l(" /~`-'~\\ ");for(int i:a)System.out.print("{<| "+i+" |>}");System.out.println();l(" \\|___|/ ");l("  /   \\  ");l(" /__|__\\ ");l(" | / \\ | ");l(" |)   (| ");for(int i=0;i<8;i++)if(i%2==1)System.out.print("(,|,.,|.)");else System.out.print("(.|,.,|,)");}}

Expanded

class a
{
    static void l(String s)
    {
    for(int i=0;i<8;i++)
        System.out.print(s);
    System.out.println();
    }
    static void q()
    {
        int[] a={8,6,1,3,7,5,4,2};
        l("   |.|   ");
        l("   |.|   ");
        l("   ]^[   ");
        l(" /~`-'~\\ ");
        for(int i:a)
            System.out.print("{<| "+i+" |>}");
        System.out.println();
        l(" \\|___|/ ");
        l("  /   \\  ");
        l(" /__|__\\ ");
        l(" | / \\ | ");
        l(" |)   (| ");
        for(int i=0;i<8;i++)
            if(i%2==1)
                System.out.print("(,|,.,|.)");
            else 
                System.out.print("(.|,.,|,)");
    }
}
\$\endgroup\$
  • \$\begingroup\$ I don't think this answer prints the feet correctly. \$\endgroup\$ – Neil May 7 '17 at 10:10
  • 1
    \$\begingroup\$ It still looks wrong to me from code inspection. (Note that the feet alternate for each footballer.) \$\endgroup\$ – Neil May 7 '17 at 10:30
  • 1
    \$\begingroup\$ i%2>0 saves a byte, maybe even i++%2>0 works. Anyway the condition can be put into a ternary inside the print(...). Creating the array in the loop header should also save one or two bytes. I'm not quite sure but I think there is some whitespace missing in the last line of the legs... \$\endgroup\$ – Frozn May 8 '17 at 7:48
  • 1
    \$\begingroup\$ There are lots of bytes to save: class B{int i;void p(String s){System.out.print(s);}void e(String s){for(i=8;i-->0;)p(s);p("\n");}void a(){e(" |.| ");e(" ]^[ ");e(" /~`-'~\\ ");for(int i:new int[]{8,6,1,3,7,5,4,2})p("{<| " + i + " |>}");p("\n");e(" \\|___|/ ");e(" / \\ ");e(" /__|__\\ ");e(" | / \\ | ");e(" (/ \\) ");e(" |) (| ");for(i=8;i-->0;)p(i%2<1?"(,|,.,|.)":"(.|,.,|,)");}} "only" 366 bytes. Be careful of copy/pastes: SE software adds a few characters to split the chain. Remarks: fixed the legs, head, etc. \$\endgroup\$ – Olivier Grégoire May 8 '17 at 10:06
  • \$\begingroup\$ @OlivierGrégoire The class B{...} can be removed as well (which is also pretty pointless without a main-method). Also, you can further golf down the code in your comment by changing void p(String s){System.out.print(s);} to <T>void p(T x){System.out.print(x);}. \$\endgroup\$ – Kevin Cruijssen May 8 '17 at 10:49
4
\$\begingroup\$

05AB1E, 126 124 108 106 110 bytes

Thanks to Emigna for saving 7 bytes!

•5n¯в•vð3×Ðy"|.|
]^[ 
/~`-'~\
{<| ÿ |>}
\|___|/
/ÿ\
/__|__\
| / \ |
(/ÿ\)
|)ÿ(|".C.B})øJ»"(.|,.,|,)"„()‡«4×»

Uses the 05AB1E encoding. Try it online!

\$\endgroup\$
  • \$\begingroup\$ This answer does not print the feet correctly. \$\endgroup\$ – Neil May 7 '17 at 10:12
  • \$\begingroup\$ @Neil That is now fixed. \$\endgroup\$ – Adnan May 7 '17 at 11:53
3
\$\begingroup\$

JavaScript (ES6), 198 197 bytes

Includes a leading line break.

f=(x=792)=>x--?f(x)+(x%72?'':`
`)+`   |.|      ]^[    /~\`-'~\\ {<| ${"75428613"[x%8]} |>} \\|___|/   /   \\   /__|__\\  | / \\ |  (/   \\)  |)   (| (${x&1?".|,.,|,":",|,.,|."})`[9*(x/9>>3)+x%9]:''

Demo

f=(x=792)=>x--?f(x)+(x%72?'':`
`)+`   |.|      ]^[    /~\`-'~\\ {<| ${"75428613"[x%8]} |>} \\|___|/   /   \\   /__|__\\  | / \\ |  (/   \\)  |)   (| (${x&1?".|,.,|,":",|,.,|."})`[9*(x/9>>3)+x%9]:''

o.innerHTML = f()
<pre id=o></pre>

\$\endgroup\$
3
\$\begingroup\$

Python 2.7, 179 bytes

print"\n".join(s*8for s in"   |.|   *   ]^[   * /~`-'~\ *{<| %s |>}* \|___|/ *  /   \  * /__|__\ * | / \ | * (/   \) * |)   (| *(%s|,.,|%s)".split("*"))%tuple("86137942"+".,,."*4)

Encode one player as a single string with out-of-band characters to let us split it into a list, so that we can then multiply each layer by 8 and finally insert the required numbers and punctuations into the output.

\$\endgroup\$
2
\$\begingroup\$

Python 2, 207 197 186 201 bytes

b=[x*8for x in"   |.|   #   ]^[   # /~`-'~\ ## \|___|/ #  /   \  # /__|__\ # | / \ | # (/   \) # |)   (| ".split("#")]+["(.|,.,|,)(,|,.,|.)"*4]
for y in'86137542':b[3]+='{<| %s |>}'%y
print'\n'.join(b)

Try it online!

Nothing very clever and way too long at 207 197 but as far as I can see, at least it prints the feet correctly.

Edit A bit better at 186

Edit 2 Back to over 200 after spotting why the feet were not in fact right. Well hidden gotcha!

\$\endgroup\$
1
\$\begingroup\$

PHP, 204 Bytes

<?=gzinflate(base64_decode(pdDLDcMwCAbgO1P8t9qS66jpIzlUWSRu6B6lmb3giAWKJawPDggAIFXQXwSk8drWoxQBYdjf59PeEAR9noIZsnwND8fFcXVMjrvj5hgNhCbMLAOC0BtphmbLhqA30obMtm0IBNGeTf8gCKnPlhGETqQZkvUOgVKVUouUnEpHzf9Vfg));

Try it online!

PHP, 205 Bytes

for(;$i++<11;)for($p=print"
";$c=_86137542[$p++];)echo str_pad(["|.|","]^[","/~`-'~\\","{<| $c |>}","\|___|/","/   \\","/__|__\\","| / \ |","(/   \)","|)   (|",$p&1?"(,|,.,|.)":"(.|,.,|,)"][$i-1],9," ",2);

Try it online!

PHP, 211 Bytes

for(;$i<11;)echo($p=str_pad)("
",73,$p(["|.|","]^[","/~`-'~\\","{<| ".join(" |>}{<| ",[8,6,1,3,7,5,4,2])." |>}","\|___|/","/   \\","/__|__\\","| / \ |","(/   \)","|)   (|","(.|,.,|,)(,|,.,|.)"][+$i++],9," ",2));

Try it online!

\$\endgroup\$
  • 1
    \$\begingroup\$ You forgot the alternating feet. And [+$i] needs no +. \$\endgroup\$ – Titus May 7 '17 at 13:40
  • 1
    \$\begingroup\$ You can save one more byte with a leading instead of a trailing newline: for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];) and [$y-1] \$\endgroup\$ – Titus May 7 '17 at 13:53
  • \$\begingroup\$ @Titus done thank you. An Array needs a + \$\endgroup\$ – Jörg Hülsermann May 7 '17 at 14:21
  • 1
    \$\begingroup\$ 206-1 bytes: for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)echo str_pad(["|.|","]^[","/~``-'~\\","{<| $n |>}","\|___|/","/ \\","/__|__\\","| / \ |","(/ \)","|) (|",$p&1?"(,|,.,|.)":"(.|,.,|,)"][$y-1],9," ",2); ;) \$\endgroup\$ – Titus May 7 '17 at 15:18
  • \$\begingroup\$ Oh right ... I tried foreach; that´s why I needed no +. \$\endgroup\$ – Titus May 7 '17 at 15:21
1
\$\begingroup\$

Ook!, 8519 bytes

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook. Ook? Ook. Ook. Ook! Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook! Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook! Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook. Ook. Ook? Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook? Ook. Ook! Ook! Ook? Ook!

I had to.

Port of tony200910041's brainf**k answer

\$\endgroup\$
  • \$\begingroup\$ I downvoted because you either: 1) put this through a converter taking zero effort or 2) had an oversight and took actual effort doing this. \$\endgroup\$ – Destructible Lemon May 8 '17 at 10:18
  • 2
    \$\begingroup\$ @DestructibleLemon I kinda disagree. It is indeed likely this has been put through a converter for zero effort, but it's a valid answer nonetheless. I wouldn't upvote it, but downvoting it because it was generated doesn't make the answer less valid. Besides, ports or generated answers are posted all the time. Usually Dennis, MartinEnder, etc. creates an original and short method, and almost everyone changes their original answer to a port of that, because it's just shorter. Also, reason 2 is an even worse reason to downvote.. Perhaps (s)he wrote his own converter, which still took effort. \$\endgroup\$ – Kevin Cruijssen May 8 '17 at 10:58
  • \$\begingroup\$ I did, in fact, write my own converter. Not that that takes a huge amount of effort. \$\endgroup\$ – Skidsdev May 8 '17 at 11:04
  • \$\begingroup\$ I never said it was invalid. but the answer is just someone else's golf, trivially converted \$\endgroup\$ – Destructible Lemon May 8 '17 at 23:03
  • 1
    \$\begingroup\$ For a weird language like this, who would actually write program using it? He just want to have some funny, non-competing program. You are a little strict here @DestructibleLemon. \$\endgroup\$ – hucancode May 9 '17 at 2:57
1
\$\begingroup\$

C#, 420 bytes

Golf:

using System;using static System.Console;class Z{static void Main(){int[]a={8,6,1,3,7,6,4,2};int i=0;X("   |.|   ");X("   ]^[   ");X(" /~`-'~\\ ");for(i=0;i<8;i++)Write("{<| "+a[i]+" |>}");WriteLine();X(" \\|___|/ ");X("  /   \\  ");X(" /__|__\\ ");X(" | / \\ | ");X(" (/   \\) ");X(" |)   (| ");for(i=0;i<8;i++)Write((i%2==0)?"(.|,.,|,)":"(,|,.,|.)");}static void X(String s){for(int i=0;i<8;i++)Write(s);WriteLine();}}

Expanded:

using System;
using static System.Console;
class Z
{
    static void Main()
    {
        int[]a={8,6,1,3,7,6,4,2};
        int i=0;
        X("   |.|   ");
        X("   ]^[   ");
        X(" /~`-'~\\ ");
        for(i=0;i<8;i++)
            Write("{<| "+a[i]+" |>}");
        WriteLine();
        X(" \\|___|/ ");
        X("  /   \\  ");
        X(" /__|__\\ ");
        X(" | / \\ | ");
        X(" (/   \\) ");
        X(" |)   (| ");
        for(i=0;i<8;i++)
            Write((i%2==0)?"(.|,.,|,)":"(,|,.,|.)");
    }
    static void X(String s)
    {
        for(int i=0;i<8;i++)
            Write(s);
        WriteLine();
    }
}

Inspired by Jesse M's Java answer, with a few edits to make it shorter

\$\endgroup\$
  • \$\begingroup\$ You can save 5 bytes with i%2 instead of (i%2==0) and reversing the ?: parts. Also I think Write(" {0} ",s); and trim the white space from the X() calls would save another 10 bytes. \$\endgroup\$ – Ken Y-N May 8 '17 at 2:58
  • 2
    \$\begingroup\$ I doubt that C# accept 0 as false \$\endgroup\$ – hucancode May 8 '17 at 6:41
  • \$\begingroup\$ @hucancode The only truthy/falsey values in C# are booleans. \$\endgroup\$ – TheLethalCoder May 8 '17 at 10:53
  • \$\begingroup\$ You can save bytes by removing the X method and just looping, I believe at least. You could compile to an Action<string> to remove the fluff. That would mean you return a string and don't have to write it out removing the need to the Console. You can remove the using System as that is only needed for String where you can use string instead. There are multiple other improvements as well. I'm sorry but it doesn't really look like you attempted to golf this much at all. \$\endgroup\$ – TheLethalCoder May 8 '17 at 10:57
  • \$\begingroup\$ @TheLethalCoder Its my first code golf sorry mate \$\endgroup\$ – Mark Price May 18 '17 at 19:59
1
\$\begingroup\$

Mathematica 282 bytes

d={"   |.|   ","   ]^[   "," /~`-'~\\ ",StringRiffle[{8,6,1,3,7,5,4,2},{"{<| "," |>}{<| "," |>}"}]
," \\|___|/ ","  /   \\  "," /__|__\\ "," | / \\ | "," (/   \\) "," |)   (| ", "(.|,.,|,)"};f[x_, y_] :=Table[Row@Table[d[[i]],8],{i,x,y}];Column@Flatten@Join[{f[1,3],d[[4]],f[5,11]}]
\$\endgroup\$
1
\$\begingroup\$

Retina, 270 bytes


A |.|AKKKKKKK ¶A ]^[AJJJJJJJ NEEEEEEEE¶{<| 8H6H1H3H7H5H4H2 |>} N\|___|/GGGGGGG ¶MMMM NDDDDDDDDNCCCCCCCCNLLLLN|)A (|IIIIIII ¶BBBB
N
¶ 
M
AFAAFA
L
(F)A(F)A
K
AA|.|A
J
AA]^[A
I
A|)A (|
H
 |>}{<| 
G
A\|___|/
F
/A \
E
/~`-'~\A
D
/__|__\A
C
| / \ |A
B
(.|,.,|,)(,|,.,|.)
A
  

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Bubblegum, 130 117 bytes

00000000: a4c6 bb0d 4231 0c86 d1de 537c 1d89 1412  ....B1....S|....
00000010: f1a6 402c 42c0 ecc1 cf9d 1d5d 244f e053  ..@,B......]$O.S
00000020: 1d40 5d40 3206 3c5f 0f20 1963 2cef ed66  .@]@2.<_. .c,..f
00000030: 9964 639f 9bb8 a2fb 77cd 39b2 8b1c 2297  .dc.....w.9...".
00000040: c829 728c ecd7 604c b9bb 06c9 180c 6042  .)r...`L......`B
00000050: 36c6 7097 fb24 1b43 0c26 221b a30c 6056  6.p..$.C.&"...`V
00000060: b231 5481 2292 b1d2 d57a 53ab a5fd d3eb  .1T."....zS.....
00000070: 6fe4 8900 00                             o....

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Perl 5, 206 bytes

say$_ x 8 for'   |.|   ','   ]^[   ', " /~`-'~\\ ";print"{<| $_ |>}"for 8,6,1,3,7,5,4,2;say;say$_ x 8 for' \\|___|/ ','  /   \\  ',' /__|__\ ',' | / \\ | ',' (/   \\) ',' |)   (| ';say'(.|,.,|,)(,|,.,|.)'x4

Try it online!

It's ugly and brute force, but it works.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.