Шестикутні шахи описують сімейство шахових варіантів, що граються на дошці, де клітини є шестикутниками замість традиційних квадратів. Таких варіантів багато; У цьому виклику ми зупинимось на варіанті Гліньського, який є найбільш поширеним.
Дошка складається з трьох кольорів (так, щоб той самий колір не розділяв краю), а краї шестикутників спрямовані до гравців. На дошці є 11 файлів, позначених буквами a
наскрізь l
(літера j
не використовується), та 11 рангів (які вигинаються на 60 ° у файлі f
). Ранги 1
через 6
кожну містять 11 комірок, ранг 7
- 9 комірок, ранг 8
- 7 тощо. Ранг 11
містить точно одну клітинку: f11 . (Якщо це допомагає, подумайте про кожен ранг як про дуже широку форму "V".)
Ось приклад малюнка дошки з лицарем на центральній комірці. Осередки, позначені крапкою, - це законний хід цього конкретного лицаря. Лицар переходить подібним чином до «звичайних» шахів, два вниз і один на один. У шестикутній шаховій формі - це ортогональний хід (через край), потім діагональний рух у тому ж напрямку (найближчий рух до того ж кольору). Наприклад, з лицарем внизу, ортогональний рух "вгору" до світло-коричневого кольору супроводжується діагональним переміщенням "вгору і вправо" або "вгору і вліво" до найближчого світло-коричневого.
З загальнодоступного домену через https://commons.wikimedia.org/wiki/File:Glinski_Chess_Knight.svg
Цей лицар розміщується на f6 і, таким чином, легальні кроки
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
Вхідні дані
Єдиний вхід, що дає вихідну клітинку нашого лицаря. Це може бути як один рядок "b6"
, так і два рядки "b", "6"
тощо у будь-якому зручному форматі . Вхідні літери можуть бути великими або малими літерами - ваш вибір.
Вихідні дані
Список дійсних кроків, які може зробити лицар у цьому місці. Це може бути масив рядків, одна рядок з однозначним і послідовним роздільником, окремі рядки за новими рядками тощо, що б це було найзручніше. Вихідні дані не обов'язково мають бути відсортованими, і вони можуть бути або великими, або малими літерами - ваш вибір.
Правила
- Припустимо, що жодного іншого шматка немає на дошці і не заважає рухатися. Ми зосереджені лише на лицарі.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Якщо можливо, додайте посилання на онлайн-тестувальне середовище, щоб інші люди могли спробувати ваш код!
- Стандартні лазівки заборонені.
- Це код-гольф, тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.
Приклади
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