Estamos colaborando en el desarrollo de un juego de ajedrez online y debemos validar el movimiento de un usuario sobre su torre.
Dada la posición de la torre (parámetro 1) y la posición destino que elegió el usuario (parametro 2) validar si el movimiento es valido. Se debe retornar true si el movimiento es valido o false si es invalido.
La torre tiene la característica de moverse de forma recta a traves de todo el tablero
La posición de una pieza en el tablero de ajedrez se identifica mediante una coordenada alfanumérica.
- El eje horizontal o eje X se identifica con una letra entre la "A" y la "H" (A,B,C,D,E,F,G,H)
- El eje vertical o eje Y se identiica con un numero entre el "1" y el "8" (1,2,3,4,5,6,7,8)
Por ejemplo: "A1", "G7", "F3"
- 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: rookCell
- tipo: String
- nombre: destinationCell
- tipo: String
- tipo: Boolean
Si la torre esta en B3 y el destino es B6 debe retornar true porque la torre puede alcanzar la celda objetivo desplazandose de forma recta hacia la derecha.
- Parametros: ( rookCell = "B3", destinationCell = "B6" )
- Resultado esperado: true
- Parametros: ( rookCell = "H2", destinationCell = "F4" )
- Resultado esperado: false
- Parametros: ( rookCell = "C1", destinationCell = "C8" )
- Resultado esperado: true
- Parametros: ( rookCell = "G8", destinationCell = "G4" )
- Resultado esperado: true
- Parametros: ( rookCell = "D2", destinationCell = "H2" )
- Resultado esperado: true
- Parametros: ( rookCell = "E3", destinationCell = "F4" )
- Resultado esperado: false
- Parametros: ( rookCell = "A7", destinationCell = "H7" )
- Resultado esperado: true