Wygeneruj następującą grafikę ASCII drużyny piłkarskiej z możliwie najmniejszą liczbą bajtów.
|.| |.| |.| |.| |.| |.| |.| |.|
]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[
/~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\
{<| 8 |>}{<| 6 |>}{<| 1 |>}{<| 3 |>}{<| 7 |>}{<| 5 |>}{<| 4 |>}{<| 2 |>}
\|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/
/ \ / \ / \ / \ / \ / \ / \ / \
/__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\ /__|__\
| / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ |
(/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \) (/ \)
|) (| |) (| |) (| |) (| |) (| |) (| |) (| |) (|
(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)
Zauważ, że stopy graczy zmieniają się na przemian (.|,.,|,)
i ich lustro, ale ich oczy wszystkie skierowane są w tym samym kierunku `-'
.
Wynik
Najmniej wygranych bajtów!
Zasady
- Obowiązują standardowe otwory na pętle
- Każda ilość spacji / wiodących białych znaków jest dozwolona.
Odpowiedzi:
Węgiel drzewny ,
1069592917977 bajtówWypróbuj online!Edycja: Zapisano 11 bajtów, zapętlając numery koszul. Zaoszczędzono 3 bajty, opracowując sposóbJ
działania. Zapisano kolejny bajt, używając osobnych instrukcji lustrzanych. Zaoszczędzono 12 bajtów dzięki @ ASCII-only poprzez kompresję łańcucha dla połowy gracza. Zapisano 2 bajty, powtarzając kopię lustrzaną w pętli. Wyjaśnienie:Edycja: Powyższy kod nie działa już w bieżącym węglu drzewnym; wydaje się, że kompresja ciągu uległa zmianie, a polecenie odbicia akceptuje teraz wielokierunek i pozostawia kursor w innej pozycji. Możliwe jest jednak dostosowanie kodu do działania na bieżącym węglu drzewnym dla tej samej liczby bajtów. Wypróbuj online! Link jest do pełnej wersji kodu. (Zauważ, że deverbosifier z
6137542
jakiegoś powodu próbuje się skompresować, chociaż nie jest to konieczne.) Następnie można grać w golfa o kolejny bajt. Wypróbuj online! Link jest do pełnej wersji kodu.źródło
-sl
ma tylko pokazać długość, którą można pominąć'
, ale na szczęście zauważyłem błąd przed zapisaniem zmiany.Brainf ** k,
855852 bajtyTo za długo ...
Wyjaśnienie:
źródło
*
s, które dodają 3 bajty, więc twoje bajty teraz powinno być 852. 2. Można zastąpić[-]
z,
, ponieważ niektóre interpreter tam na nie więcej wyjść wejściowych0x00
V , 127 bajtów
Wypróbuj online!
Jak zwykle, zrzut heksowy:
źródło
SOGL ,
92888785 bajtówWyjaśnienie:
Skompresowany ciąg to
z myślnikami (ponieważ można je skompresować za pomocą ciągów boków) zamiast nietypowych znaków, które następnie są zastępowane, a następnie dzielone na linie, aby uzyskać
źródło
JavaScript (ES6),
196194214210204 bajtówWcześnie rano golf w moim telefonie, więc jest miejsce na ulepszenia.
Musiałem poświęcić kilka bajtów ustalających stopy, których nie zauważyłem na przemian.
Spróbuj
(Nieaktualne) Objaśnienie
Zaczynamy od łańcucha zawierającego znaki dla pojedynczego gracza, z każdą linią oddzieloną
n
znakiem0
a , jako symbolem zastępczym dla liczby oraz znakiem1
&2
używanym jako symbole zastępcze dla znaków interpunkcyjnych na przemiennych stopach.Rozdzielamy ciąg znaków na tablicę poszczególnych linii
n
, mapujemy na tę tablicę, zastępując każdy element samym sobą powtarzanym 8 razy, a następnie łączymy tablicę z ciągiem literalnym, używając nowej linii.Na koniec zamieniamy każdą liczbę w ciągu na wymagany numer gracza, jeśli jest to liczba
0
lub znak niezbędny do uzupełnienia stóp gracza, jeśli liczba to1
lub2
.źródło
Ruby, 161
Teraz z naprzemiennymi stopami. Wewnętrznie generuje 8 podwójnych zestawów stóp (łącznie 16). Niektóre z nich są następnie usuwane przez obcięcie do 72 znaków w wierszu.
Ruby, 144
Dość proste, drukuje linia po linii, 8 częściowych piłkarzy naraz i używa
%
operatora (podobnegosprintf
) do podstawienia numerów koszul (gdy łańcuch nie zawiera%d
, są one ignorowane).źródło
Java,
391444 bajtówEDYCJA: Naprawdę naprawiona. Boże, to naprawdę zwiększyło rozmiar
Rozszerzony
źródło
i%2>0
zapisuje bajt, może naweti++%2>0
działa. W każdym razie warunek można umieścić w trójskładniku wewnątrzprint(...)
. Utworzenie tablicy w nagłówku pętli powinno również zaoszczędzić jeden lub dwa bajty. Nie jestem do końca pewien, ale myślę, że w ostatniej linii nóg brakuje trochę białych znaków ...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?"(,|,.,|.)":"(.|,.,|,)");}}
„tylko” 366 bajtów. Uważaj na kopiowanie / wklejanie: oprogramowanie SE dodaje kilka znaków, aby rozdzielić łańcuch. Uwagi: naprawiono nogi, głowę itp.class B{...}
Można go również usunąć (co również jest dość bezcelowe bezmain
metody). Możesz również pograć w golfa w kodzie w komentarzu, zmieniającvoid p(String s){System.out.print(s);}
na<T>void p(T x){System.out.print(x);}
.05AB1E ,
126124108106110 bajtówDzięki Emigna za oszczędność 7 bajtów!
Wykorzystuje kodowanie 05AB1E . Wypróbuj online!
źródło
JavaScript (ES6),
198197 bajtówZawiera wiodącą linię podziału.
Próbny
Pokaż fragment kodu
źródło
Python 2.7, 179 bajtów
Zakoduj jednego gracza jako pojedynczy ciąg znaków spoza pasma, abyśmy mogli podzielić go na listę, abyśmy mogli następnie pomnożyć każdą warstwę przez 8, a na końcu wstawić wymagane liczby i interpunkcje do wyniku.
źródło
Python 2 ,
207197186201 bajtówWypróbuj online!
Nic bardzo sprytnego i
zdecydowanieza długiego na207197,ale o ile widzę, przynajmniej poprawnie drukuje stopy.Edytuj Trochę lepiej w 186
Edytuj 2 Wróć do ponad 200 po stwierdzeniu, dlaczego stopy nie były w rzeczywistości prawidłowe. Dobrze ukryty gotcha!
źródło
PHP, 204 bajtów
Wypróbuj online!
PHP, 205 bajtów
Wypróbuj online!
PHP, 211 bajtów
Wypróbuj online!
źródło
[+$i]
nie potrzebuje+
.for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)
oraz[$y-1]
+
for(;$y++<11;)for($p=print"\n";$n=_86137542[$p++];)echo str_pad(["|.|","]^[","/~``-'~\\","{<| $n |>}","\|___|/","/ \\","/__|__\\","| / \ |","(/ \)","|) (|",$p&1?"(,|,.,|.)":"(.|,.,|,)"][$y-1],9," ",2);
)foreach
; dlatego nie potrzebowałem+
.Oo! , 8519 bajtów
Musiałem.
Port of tony200910041's brainf ** k answer
źródło
C #, 420 bajtów
Golf:
Rozszerzony:
Zainspirowany odpowiedzią Jesse M na Javę, z kilkoma edycjami, aby ją skrócić
źródło
i%2
zamiast części(i%2==0)
i odwracając je?:
. Myślę też, żeWrite(" {0} ",s);
przycięcie białych znaków wX()
połączeniach pozwoli zaoszczędzić kolejne 10 bajtów.X
metodę i po prostu zapętlając, przynajmniej tak mi się wydaje. Możesz skompilować do,Action<string>
aby usunąć puch. Oznaczałoby to, że zwróciszstring
i nie musisz tego zapisywać, usuwając potrzebęConsole
. Możesz usunąć te,using System
które są potrzebne tylkoString
tam, gdzie możesz ich użyćstring
. Istnieje również wiele innych ulepszeń. Przykro mi, ale tak naprawdę nie wygląda na to, że próbowałeś w ogóle grać w golfa.Mathematica 282 bajty
źródło
Siatkówka , 270 bajtów
Wypróbuj online!
źródło
Bubblegum ,
130117 bajtówWypróbuj online!
źródło
Perl 5 , 206 bajtów
Wypróbuj online!
To brzydka i brutalna siła, ale działa.
źródło