/** * Efecto provocado por el Actor a que colisiona con el Actor actual. * * @param a Actor que colisiona al Actor actual. * @throws NullPointerException Si a es null. * @throws ColisionException Si se produce algún error en la colisión. */ public void colisionar(Actor a) throws ColisionException, NullPointerException { if (a == null) throw new NullPointerException( "Mario.colisionar()" + "\n" + "Imposible colisionar con Actor nulo."); try { a.colisionarPj(this); } catch (Exception e) { throw new ColisionException( "Mario.colisionar()" + "\n" + "Detalles del Error:" + "\n" + e.getMessage()); } }
/** * Realiza la acción de morir (ser destruido) de Mario. * * @throws NullPointerException Si jugador es null. * @throws AccionActorException Si se produce un error al morir. */ public void morir() throws NullPointerException, AccionActorException { if (jugador == null) throw new NullPointerException( "Mario.morir()" + "\n" + "Imposible quitar vida al Jugador. Jugador es null."); spriteManager.cambiarSprite(miCaracteristica.spriteMuerto()); ActualizadorNivel.act().eliminarCaible(this); ActualizadorNivel.act().eliminarPJ(this); super.morir(); upNeeder.notUpdate(); upNeeder = null; try { jugador.quitarVida(); } catch (ClassCastException e) { throw new AccionActorException( "Mario.morir()" + "\n" + "Imposible obtener los puntos del actor causante de la muerte."); } }