Dadas las posiciones de dos damas en un tablero de ajedrez, indica si están colocadas de modo que puedan atacarse entre sí o no.
En el juego del ajedrez, una dama puede atacar piezas que estén en la misma fila, columna o diagonal.
Un tablero de ajedrez se puede representar con un array de 8 por 8.
Así que si te dicen que la dama blanca está en c5 (con índices desde cero: columna 2, fila 3) y la dama negra en f2 (con índices desde cero: columna 5, fila 6), entonces sabes que la disposición es así:
También puedes responder si las damas pueden atacarse entre sí. En este caso, la respuesta sería que sí, que pueden, porque ambas piezas comparten una diagonal.
La imagen del tablero de ajedrez fue creada por habere-et-dispertire con LaTeX y el paquete chessboard de Ulrike Fischer.
Para completar este ejercicio, debes implementar las siguientes funciones:
boardStringcanAttackLas firmas de tipo ya están puestas, pero definir las funciones depende de ti.
Las posiciones se especifican como tuplas de dos elementos:
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.