Sześciokątne szachy opisuje rodzinę wariantów szachów granych na planszy, gdzie komórki są sześciokątami zamiast tradycyjnych kwadratów. Istnieje wiele takich wariantów; w tym wyzwaniu skupimy się na wariancie Glińskiego, który jest najczęstszy.
Plansza składa się z trzech kolorów (aby ten sam kolor nie dzielił krawędzi), z krawędziami sześciokątów skierowanymi w stronę graczy. Na płycie znajduje się 11 plików oznaczonych literami a
od l
(litera j
nie jest używana) i 11 stopni (które wyginają się o 60 ° w pliku f
). Ranga 1
przez 6
każdą zawiera 11 komórek, ranga 7
ma 9 komórek, ranga 8
ma 7 i tak dalej. Ranga 11
zawiera dokładnie jedną komórkę: f11 . (Jeśli to pomoże, pomyśl o każdej randze jako o bardzo szerokim kształcie „V”).
Oto przykładowe zdjęcie planszy z rycerzem na środkowej celi. Komórki oznaczone kropką to legalne ruchy tego konkretnego rycerza. Rycerz porusza się w podobny sposób jak „normalne” szachy, dwa w dół i jeden nad drugim. W szachach sześciokątnych jest to ruch ortogonalny (przez krawędź), a następnie ruch po przekątnej w tym samym kierunku (najbliższy ruch do tego samego koloru). Na przykład z rycerzem poniżej ruchowi ortogonalnemu „w górę” do jasnobrązowego towarzyszy następnie ruch po przekątnej „w górę i w prawo” lub „w górę i w lewo” do najbliższego jasnobrązowego.
Z domeny publicznej za pośrednictwem https://commons.wikimedia.org/wiki/File:Glinski_Chess_Knight.svg
Ten rycerz jest ustawiony na f6, a tym samym legalne ruchy
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
Wejście
Pojedyncze wejście, które daje komórkę początkową naszego rycerza. Może to być pojedynczy ciąg "b6"
, dwa ciągi "b", "6"
itd. W dowolnym dogodnym formacie . Wprowadzane litery mogą być wielkie lub małe - twój wybór.
Wynik
Lista ważnych ruchów, które rycerz może wykonać w tej lokalizacji. Może to być tablica ciągów, pojedynczy ciąg znaków z jednoznacznym i spójnym ogranicznikiem, oddzielne ciągi znaków nowej linii itp., Cokolwiek jest najwygodniejsze. Dane wyjściowe niekoniecznie muszą być posortowane i mogą być pisane wielkimi lub małymi literami - twój wybór.
Zasady
- Zakładaj, że na planszy nie ma innych elementów ani nie zakłócają ruchów. Koncentrujemy się tylko na rycerzu.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby inni mogli wypróbować Twój kod!
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Przykłady
b6
a3, c4, d5, d9, e7, e8
f6
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
f11
d8, e8, g8, h8
i1
f2, f3, g4, h4, l2, k3