Problema:UII-INF-J06-B

De 19E37 - Academia de Ciencias
Saltar a: navegación, buscar
Realizar el análisis, diseño y codificación en C de un módulo que, a partir de una jugada de ajedrez (fila y columna de la casilla de origen y fila y columna de la casilla de destino) y el tablero actual recibidos del módulo llamador, determine si un movimiento de alfil es válido o no, devolviendo el resultado de la comprobación y el tablero actualizado (es decir, si el movimiento es válido, mover el alfil de la casilla origen a la casilla destino). Para ello, deberá tenerse en cuenta lo siguiente:
• se asumirá que las coordenadas (filas y columnas) de ambas casillas que se reciben del módulo llamador están dentro de los límites del tablero y apuntan a casillas distintas.
Además, se asumirá que las coordenadas de la casilla de origen apuntan a un alfil.
• para representar cada casilla del tablero se utilizará un registro con dos campos enumerados como el siguiente:
----
tipoCasilla=registro
 pieza:(peon,torre,caballo,alfil,dama,rey,vacia)
 color:(blanca,negra)
----
• un movimiento de alfil será válido si:
  - el desplazamiento es en diagonal (se desplaza el mismo número de filas que de columnas),
  - todas las casillas intermedias están vacías (no hay piezas entre las casillas origen y destino), y
  - la casilla destino NO está ocupada por una pieza del mismo color que el alfil que se mueve
UII-INF-J06-B a.png
Nota: un tablero de ajedrez se compone de 8x8 casillas.

Resolución:UII-INF-J06-B

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Apuntes y Problemas
Cursos
La Academia
Herramientas