Sunteți pe pagina 1din 2

// 1.

LAS PIEZAS DEL JUGADOR 1 SON DE COLOR AMARILLO


// 2. LA POSICION DE CADA PIEZA SE IDENTIFICARA POR LAS COORDENADAS
FILA, COLUMNA (f,c)
// 3. LA PUERTA DE LA CASA AMARILLA SON LAS POSICIONES (3.4)(3,5)
(3,6)(3.7)
// 4. LA PIEZA MAS LEJANA DE CASA AMARILLA ES LA QUE ESTARA MAS
CERCA A LA PUERTA DEL OBJETIVO
// 5. LA PUERTA DEL OBJETIVO SON LAS POSICIONES (13,9) (13,10)
(13,11) (13.12)
// 6. SI UNA PIEZA SE ENCUENTRA EN UNA POSICION DE FILA MAYOR A LAS
DEMAS Y SI LA POSICION DE
// LA COLUMNA NO SE ENCUENTRA EN CASA DE OTRO JUGADOR, ESTA ES LA
PIEZA MAS LEJANA DE CASA
// 7. SI DOS O MAS PIEZAS SE ENCUENTRA EN UNA IGUAL POSICION DE
FILA Y SI LA POSICION DE LA
// COLUMNA NO SE ENCUENTRA EN CASA DE OTRO JUGADOR, CUALQUERA DE
ESTAS PIEZAS ES LA QUE SE
// ENCUENTRA MAS LEJOS DE SU CASA

return null;
}

//Retorna una arreglo de dos valores: la fila y la columna (en ese orden)
de una casilla
//adyacente a la casilla (f, c) que no se encuentre ocupada por otra
pieza ni pertenezca a
//una casa distinta a su destino. En caso de existir más de una casilla
libre, cualquiera
//de estas casillas es aceptada. En caso de no existir ninguna casilla
libre, debe retornar null.
static int[] posicion_vecina_libre(int f, int c, Board board) {

// PARTIENDO DE LA POSICION FILA,COLUMNA (f,c) DONDE SE ENCUENTRE


UNA PIEZA

//PUEDE REALIZAR CUALQUIERA DE LOS SIGUIENTES MOVIMIENTOS SI TIENE


A SU ALREDEDOR CELDAS VACIAS
// 1. PUEDE AVANZAR 1 FILA SOBRE LA MISMA COLUMNA(F+1,C)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)
// 2. SE PUEDE DEVOLVER 1 COLUMNA SOBRE LA MISMA FILA (F,C-1)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)
// 3. SE PUEDE DEVOLVER 1 COLUMNA Y UNA FILA (F-1,C-1)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)
// 4. SE PUEDE DEVOLVER 1 FILA EN LA MISMA COLUMNA (F-1,C)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)
// 5. PUEDE AVANZAR 1 COLUMNA EN LA MISMA FILA (F,C+1)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)
// 6. PUEDE AVANZAR UNA COLUMNA Y UNA FILA (F+1,F+1)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION SE ENCUENTRA OCUPADA,
ES NULO EL MOVIMIENTO (NULL)
// SI AL REALIZAR ESTE MOVIMIENTO LA POSICION PERTENECE A CASA DE
OTRO JUGADOR, ES NULO EL MOVIMIENTO (NULL)
// DE LO CONTRARIO, SE MUEVE LA PIEZA (ACEPTADA)

// NO ES PERMITIDO REALIZAR ESTOS MOVIMIENTOS EN CUALQUIER


SITUACION
// 1. AVANZAR UNA FILA Y DEVOLVERSE 1 COLUMNA
// SI EL JUGADOR INTENTA REALIZAR ESTE MOVIMIENTO, IMPRIMIR: ES
NULO EL MOVIMIENTO (NULL)

// 2. DEVOLVERSE UNA FILA Y AVANZAR UNA COLUMNA


// SI EL JUGADOR INTENTA REALIZAR ESTE MOVIMIENTO, IMPRIMIR: ES
NULO EL MOVIMIENTO (NULL)

S-ar putea să vă placă și