コード例 #1
0
 public int mover(int finalPosX, int finalPosY, Trebejo treb, Partida part) {
   boolean encontroTrebejo = false;
   for (Trebejo t : part.getFichas()) {
     if (t.getPosX() == finalPosX && t.getPosY() == finalPosY) {
       encontroTrebejo = true;
       if (treb.movimientoPermitido(finalPosX, finalPosY, true)) {
         if (t.getColor() == treb.getColor()) {
           // No puedo mover
           return 1;
         }
         // Como
         else {
           part.getFichas().remove(t);
           ct.borrarTrebejos(t);
           ct.actualizarTrebejos(finalPosX, finalPosY, treb);
           int pos = this.buscarPosicion(treb, part);
           part.getFichas().get(pos).setPosX(finalPosX);
           part.getFichas().get(pos).setPosY(finalPosY);
           if (t.getTipo() == 'K') {
             cp.eliminarPartida(part);
             return 5;
           }
           // Cambio el turno
           part.setTurno(!part.getTurno());
           cp.actualizarPartida(
               part.getBlanco().getDni(), part.getNegro().getDni(), part.getTurno());
           return 2;
         }
       }
       // Si el movimiento no es permitido
       else return 4;
     }
   }
   ;
   if (!encontroTrebejo) {
     if (treb.movimientoPermitido(finalPosX, finalPosY, false)) {
       int pos = this.buscarPosicion(treb, part);
       ct.actualizarTrebejos(finalPosX, finalPosY, treb);
       treb.setPosX(finalPosX);
       treb.setPosY(finalPosY);
       part.getFichas().set(pos, treb);
       part.setTurno(!part.getTurno());
       cp.actualizarPartida(part.getBlanco().getDni(), part.getNegro().getDni(), part.getTurno());
       return 3;
     } else return 4;
   } else return 0;
 }