El rey de las blancas está solo y acorralado. Un alfil, una torre y un caballero de las negras lo tienen rodeado.
Dada la posición del Rey (blanco) y la posicion de la torre, alfil y caballero (negro) definir si es jaque o jaque mate.
En el juego de ajedrez, un jaque es una amenaza inmediata de capturar al rey. Se dice que un rey amenazado de este modo se encuentra en jaque.
Jaque mate es una posición del ajedrez en la que el rey se encuentra amenazado y esta situación no puede cambiarse mediante ninguna jugada legal. El jugador que consiga poner en jaque mate al rey adversario, será el ganador de la partida.
El caballero puede moverse a un cuadrado que tiene dos cuadrados horizontalmente y un cuadrado verticalmente, o dos cuadrados verticalmente y un cuadrado horizontalmente alejado de él. Por lo tanto, el movimiento completo se parece a la letra L.
La torre tiene la característica de moverse de forma recta a traves de todo el tablero
El alfil no tiene restricciones de distancia para cada movimiento, pero está limitado al movimiento diagonal.
El rey puede moverse en todas las direcciones, pero solo 1 casillero de distancia.
- Crear un nuevo repositorio utilizando este repositorio como template (Boton: use this template).
- Editar el código de la función definida en el archivo index.js con un algoritmo que permita obtener los resultados esperados en los test.
- Ejecutar los test validando que todos resulten exitosos
Instalar dependencias (mocha)
npm install
Ejecutar test
npm run test
- nombre: kingWhite (Rey Blanco)
- tipo: String
- nombre: rookBlack (Torre Negra)
- tipo: String
- nombre: bishopBlack (Alfil Negro)
- tipo: String
- nombre: knightBlack (Caballero negro)
- tipo: String
- tipo: String ("jaque mate"|"jaque")
Si el rey blanco esta en "A1", la torre negra esta en "A5", el alfil negro esta en "D4" Y el caballero negro esta en "D2" entonces debe ser = "jaque mate"
Si el rey blanco esta en "D1", la torre negra esta en "H2", el alfil negro esta en "E3" Y el caballero negro esta en "C3" entonces debe ser = "jaque"
- Parametros: (kingWhite="A1", rookBlack= "A5", bishopBlack="D4", knightBlack="D2" )
- Resultado esperado: "jaque mate"
- Parametros: (kingWhite="D1", rookBlack= "H2", bishopBlack="E3", knightBlack="C3" )
- Resultado esperado: "jaque"
- Parametros: (kingWhite="F1", rookBlack= "D2", bishopBlack="B5", knightBlack="F3" )
- Resultado esperado: "jaque mate"
- Parametros: (kingWhite="H7", rookBlack= "G3", bishopBlack="F5", knightBlack="F7" )
- Resultado esperado: "jaque mate"
- Parametros: (kingWhite="C4", rookBlack= "C2", bishopBlack="F6", knightBlack="C6" )
- Resultado esperado: "jaque"