
Resolver programa tipo arreglos (ajedrez) en Pascal
Publicado por Héctor (8 intervenciones) el 27/03/2013 21:25:29
buen dia a la comunidad de programadores, pido ayuda con el siguiente programa, tipo arreglos en Pascal:
En la partida hipotética que juremos sólo tienes un alfil (’A’) (y , claro, tu rey escondido por ahí) y restan tres piezas del contrario: su rey (’R’), una torre (’T’) y un peón (’P’). Se desea saber qué piezas amenaza tu alfil o si no hay alguna amenaza. Define un tablero de ajedrez declarando la variable tablero que será un arreglo bidimensional de tamaño 8 8 donde se sitúan las piezas A, R, T, P . El programa solicitará la posición de las piezas contrincantes por medio de la coordenadas r1 c1 y el tipo de pieza p1, las coordenadas r2, c2 y el tipo de pieza p2, las coordenadas r3, c3 y el tipo de pieza p3, finalmente las coordenadas de tu alfil ra y ca. Si tu alfil amenaza una o más piezas contrincantes devolverá un Amenaza a [tipo de pieza]) de lo contrario devolverá No hay amenaza. Pinta el tablero con las piezas.
-------------------------------------------------------------------------------------------------------------------------------------
1. No te preocupes por errores del usuario cuando escriba las coordenadas. Es decir, no se escribirán coordenadas fuera del tablero, ni se encimarán piezas.
2. El alfil sólo puede moverse de manera diagonal cuantas posiciones se desee, se desplaza libremente.
3. El jugador de ajedrez tiene una visión completa del tablero y el jugador experimentado identifica las amenazas actuales y las que posiblemente se puedan dar. La computadora no tiene esta visión total y tiene que hacer la revisión casilla por casilla.
4. Una pieza estará amenazada por tu alfil si se encuentra dentro del recorrido diagonal.
5. Para este juego ’hipotético’, si dos piezas están en el recorrido del alfil, entonces son amenazadas ambas. No se interpone una para salvar a la otra (sic).
Ejemplo
-------------------------------------------------------------------------------------------------------------------------------------
Entrada
-------------------------------------------------------------------------------------------------------------------------------------
8
1
R
4
7
P
8
6
T
4
2
-------------------------------------------------------------------------------------------------------------------------------------
Salida
-------------------------------------------------------------------------------------------------------------------------------------
Amenaza: Torre
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . A. . .. . .. .P . .
. . . . . . . .. . . . . . . .
. . . . . . . .. . . . . . . .
. . . . . . . .. . . . . . . .
R. . . . . . T. .. . . . .
De antemano les agradesco mucho, cualquier opinion o ejemplo es bien recibido.
En la partida hipotética que juremos sólo tienes un alfil (’A’) (y , claro, tu rey escondido por ahí) y restan tres piezas del contrario: su rey (’R’), una torre (’T’) y un peón (’P’). Se desea saber qué piezas amenaza tu alfil o si no hay alguna amenaza. Define un tablero de ajedrez declarando la variable tablero que será un arreglo bidimensional de tamaño 8 8 donde se sitúan las piezas A, R, T, P . El programa solicitará la posición de las piezas contrincantes por medio de la coordenadas r1 c1 y el tipo de pieza p1, las coordenadas r2, c2 y el tipo de pieza p2, las coordenadas r3, c3 y el tipo de pieza p3, finalmente las coordenadas de tu alfil ra y ca. Si tu alfil amenaza una o más piezas contrincantes devolverá un Amenaza a [tipo de pieza]) de lo contrario devolverá No hay amenaza. Pinta el tablero con las piezas.
-------------------------------------------------------------------------------------------------------------------------------------
1. No te preocupes por errores del usuario cuando escriba las coordenadas. Es decir, no se escribirán coordenadas fuera del tablero, ni se encimarán piezas.
2. El alfil sólo puede moverse de manera diagonal cuantas posiciones se desee, se desplaza libremente.
3. El jugador de ajedrez tiene una visión completa del tablero y el jugador experimentado identifica las amenazas actuales y las que posiblemente se puedan dar. La computadora no tiene esta visión total y tiene que hacer la revisión casilla por casilla.
4. Una pieza estará amenazada por tu alfil si se encuentra dentro del recorrido diagonal.
5. Para este juego ’hipotético’, si dos piezas están en el recorrido del alfil, entonces son amenazadas ambas. No se interpone una para salvar a la otra (sic).
Ejemplo
-------------------------------------------------------------------------------------------------------------------------------------
Entrada
-------------------------------------------------------------------------------------------------------------------------------------
8
1
R
4
7
P
8
6
T
4
2
-------------------------------------------------------------------------------------------------------------------------------------
Salida
-------------------------------------------------------------------------------------------------------------------------------------
Amenaza: Torre
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . A. . .. . .. .P . .
. . . . . . . .. . . . . . . .
. . . . . . . .. . . . . . . .
. . . . . . . .. . . . . . . .
R. . . . . . T. .. . . . .
De antemano les agradesco mucho, cualquier opinion o ejemplo es bien recibido.
Valora esta pregunta


0