Esempio n. 1
0
 public boolean MoverPieza(CuadroPieza Destino, Tablero tbl) {
   /*
    * Valido el movimiento, antes de mover, tener en cuenta que en las clases hijas este metodo debe haber sido sobreescrito
    * Por lo que no solo va a validar lo que hay en el metodo validarMovimiento de Pieza, si no va a usar el metodo sobreescrito en la clase hija
    */
   if (validarMovimiento(Destino, tbl)) {
     getCuadroPieza()
         .setPieza(
             null); // Le paso al cuadro donde actualmente esta la pieza el valor de null, que
                    // quiere decir que ya no tiene pieza
     if (Destino.getPieza() != null) { // Si hay una pieza en el destino
       tbl.getPiezasComidas()
           .add(
               Destino
                   .getPieza()); // Agrego la pieza que estoy comiento a un arraylist de piezas
                                 // comidas.
       setCantMovimientosSinCambios(
           0); // Si come a alguna pieza, reseteo el contador de movimientos sin cambios.
     } else {
       setCantMovimientosSinCambios(
           getCantMovimientosSinCambios()
               + 1); // Si no come alguna pieza, el contador aumenta en uno.
     }
     Destino.setPieza(this); // Muevo la pieza al cuadro destino
     setFirstmov(false); // El siguiente movimiento, ya no sería el primero.
     return true;
   } else {
     return false;
   }
 }