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; } }