W tym wyzwaniu wydrukujesz współrzędne i kolor każdego elementu na początku gry w warcaby.
Wpisz x i y (oddzielone przecinkami) dla każdego kwadratu (indeksowane 0-7) na szachownicy, a następnie „r” lub „b” (dla czerwonego lub czarnego) w miejscu, w którym góra planszy (bliżej y = 0 ) jest czerwony, a spód jest czarny. wymagane są nowe linie między elementami i nie są wymagane żadne spacje.
To jest golf golfowy, więc odpowiedzi są oceniane w bajtach, przy czym mniej bajtów jest lepszych.
Końcowe znaki nowej linii są dozwolone, ale nie konieczne, a kolejność musi być dokładnie taka, jak poniżej.
Pożądane wyjście:
0,0r
0,2r
0,4r
0,6r
1,1r
1,3r
1,5r
1,7r
2,0r
2,2r
2,4r
2,6r
5,1b
5,3b
5,5b
5,7b
6,0b
6,2b
6,4b
6,6b
7,1b
7,3b
7,5b
7,7b
x=3
ix=4
?0,0r;0,2r;0,4r;0,6r;1,1r;1,3r;1,5r;1,7r;2,0r;2,2r;2,4r;2,6r;5,1b;5,3b;5,5b;5,7b;6,0b;6,2b;6,4b;6,6b;7,1b;7,3b;7,5b;7,7b
?Odpowiedzi:
05AB1E , 26 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
[0,1,2,5,6,7]
można go przepchnąć w mniej bajtów ... ale myślałem tylko o tym,7Ý34SK
więc chyba nie.JavaScript (ES6), 66 bajtów
Zawiera końcowy znak nowej linii.
Próbny
Pokaż fragment kodu
źródło
Perl 5 , 53 bajtów
Wypróbuj online!
źródło
C (gcc) ,
83817978 bajtówx/4+2*(x/12)
w golfax/4+x/12*2
.x%8*2%8
w golfax*2%8
.Wypróbuj online!
źródło
x%8*2%8
może byćx*2%8
Python 2 ,
747367 bajtówWypróbuj online!
źródło
in(...):
->in ...:
.Java 8,
10296959391 bajtówPort z odpowiedzi C @JonathanFrech , po czym sam grałem w golfa 5 bajtów.
Wypróbuj tutaj.
Wyjaśnienie:
źródło
Bash , 59 bajtów
Nie najkrótszy, ale zabawny:
Wypróbuj online!
źródło
APL (Dyalog Classic) , 38 bajtów
Wypróbuj online!
źródło
Galaretka , 35 bajtów
Wypróbuj online!
Pełny program bez argumentów
Wyjaśnienie
źródło
Java 8, 97 bajtów
źródło
JavaScript (ES6), 64 bajty
Wydaje się to wystarczająco różnić od @ Arnauld's, aby uzasadnić opublikowanie:
Wyjaśnienie:
Skrawek:
Pokaż fragment kodu
źródło
Python 2 , 63 bajty
Wypróbuj online!
źródło
APL (Dyalog) ,
4544 bajtów *-1 dzięki ngn.
Funkcja niladyczna, która zakłada indeksowanie oparte na 0 (
⎕IO←0
), które jest domyślne w wielu systemach. Drukuje do STDOUT.Wypróbuj online!
(
…),¨¨'rb'
Dołącz „r” do każdej pierwszej grupy elementów, a „b” do każdej drugiej:⍳8
od zera do ośmiu2|
podział pozostały po zmniejszeniu o połowę∘.+⍨
plus stół z samym sobą wzdłuż obu osi⍸
wskaźniki prawdziwych wartości⍕¨
formatuj każdy (konwertuje na ciągi ze wzorem,d d
gdzie każdyd
jest cyfrą)⊂
załącz (abyśmy mogli użyć go ponownie dla każdego…)8 ¯8↑¨
weź pierwsze dziewięć i ostatnie dziewięćteraz mamy dwie listy
d d
ciągów,/
redukcja catenation (połącz dwie listy)⊃
ujawnij (ponieważ redukcja zmniejszyła rangę z 1 do 0)' '⎕R','
PCRE R przestrzenie EUmieãæ przecinkami↑
mix (wszystkie listy w jedną macierz)* W Dyalog Classic, licząc
⍸
jako⎕U2378
.źródło
~2|∘.+⍨⍳8
może być∘.=⍨2|⍳8
2⍴⊂'Thanks'
Bubblegum , 59 bajtów
Wypróbuj online!
źródło
Pyth ,
373635 bajtówisaacg nie byłby dumny
Wyjaśnienie:
To używa prostego wzoru, który nieco wyciąłem. Następująco:
Jeśli
X
koordynacja jest parzysta, użyj liczb parzystych0, 2, 4, 6
. Indziej,1, 3, 5, 7
dlaY
.Jeśli
X
koordynacja jest mniejsza niż 5, kolor (r
lubb
) tor
. W przeciwnym razie tak jestb
.Wypróbuj online!
edycja : z dnia na dzień dostałem +40 powtórzeń dla 3 różnych odpowiedzi w00t
źródło
SOGL V0.12 , 31 bajtów
Wypróbuj tutaj!
źródło
JavaScript (89 bajtów):
Czytelny:
Wypróbuj online!
źródło
Galaretka , 27 bajtów
Pełny program, który drukuje wymagane dane wyjściowe.
Wypróbuj online!
W jaki sposób
źródło
Rubin ,
6360 bajtówMagia bitmaskowa oszczędza bajt.
Wypróbuj online!
źródło
PowerShell , 63 bajty
Wypróbuj online!
Zapętla się
0,1,2,5,6,7
i każda iteracja ustawia$i
się na bieżącą liczbę. Następnie pętle0,2,4,6
. W każdej pętli wewnętrznej konstruujemy ciąg rozpoczynający się od$i,
konkatenacji z bieżącym numerem naszej pętli wewnętrznej oraz tego, czy$i
jest parzysty czy nieparzysty (co daje nam0,2,4,6
raz i1,3,5,7
drugi raz), a następnie konkatenację zr
ed lubb
brak na podstawie tego, czy$i
jest-g
ponownie -lub-e
qual do5
. Wszystkie te ciągi są pozostawione w przygotowaniu, a domniemaneWrite-Output
zakończenie programu daje nam nowe linie za darmo.źródło
J ,
48 44 40 3731 bajtówWypróbuj online!
Jak to działa
źródło
C # (.NET Core) , 96 bajtów
Wypróbuj online!
Zasadniczo tylko port do C # odpowiedzi @ JonathanFrech . Nie mogłem wymyślić lepszego sposobu na matematykę.
źródło