El ajedrez hexagonal describe una familia de variantes de ajedrez que se juegan en un tablero donde las celdas son hexágonos en lugar de los cuadrados tradicionales. Hay muchas variantes de este tipo; En este desafío nos centraremos en la variante de Gliński, que es la más común.
El tablero está compuesto de tres colores (para que el mismo color no comparta un borde), con los bordes de los hexágonos hacia los jugadores. El tablero tiene 11 archivos, marcados por las letras a
a través de l
(carta j
no se utiliza), y 11 filas (que se doblan 60 ° en el archivo f
). Los rangos a 1
través de 6
cada uno contienen 11 celdas, el rango 7
tiene 9 celdas, el rango 8
tiene 7, y así sucesivamente. El rango 11
contiene exactamente una celda: f11 . (Si ayuda, piense en cada rango como una forma de "V" muy amplia).
Aquí hay una foto de ejemplo del tablero, con el caballero en la celda central. Las celdas marcadas con un punto son los movimientos legales de este caballero en particular. El caballero se mueve de manera similar al ajedrez "normal", dos abajo y uno encima. En términos de ajedrez hexagonal, es un movimiento ortogonal (a través de un borde), luego un movimiento diagonal en la misma dirección (el movimiento más cercano al mismo color). Por ejemplo, con el caballero de abajo, un movimiento ortogonal "hacia arriba" al marrón claro se acompaña de un movimiento diagonal "hacia arriba y hacia la derecha" o "hacia arriba y hacia la izquierda" hacia el marrón claro más cercano.
Desde el dominio público a través de https://commons.wikimedia.org/wiki/File:Glinski_Chess_Knight.svg
Este caballero está posicionado en f6 y los movimientos legales son así
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
Entrada
Una sola entrada que da la celda inicial de nuestro caballero. Esto puede ser como una sola cadena "b6"
, como dos cadenas "b", "6"
, etc., en cualquier formato conveniente . Las letras de entrada pueden ser mayúsculas o minúsculas: usted elige.
Salida
Una lista de los movimientos válidos que puede hacer un caballero en esa ubicación. Esto puede ser como un conjunto de cadenas, una sola cadena con un delimitador inequívoco y consistente, cadenas separadas por líneas nuevas, etc., lo que sea más conveniente. La salida no necesariamente tiene que estar en orden, y puede estar en mayúsculas o minúsculas, según su elección.
Reglas
- Suponga que no hay otras piezas en el tablero o que interfieren con los movimientos. Nos estamos centrando solo en el caballero.
- Un programa completo o una función son aceptables. Si es una función, puede devolver el resultado en lugar de imprimirlo.
- Si es posible, incluya un enlace a un entorno de prueba en línea para que otras personas puedan probar su código.
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
Ejemplos
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