Пример #1
0
  /**
   * Método que recibe al bomberman en la celda
   *
   * @param b de tipo Bomberman que representa el Bomberman a recibir
   */
  public void recibirBomberman(Bomberman b, int dir) {
    if (miBomba == null) {
      if (miPared == null) {
        Celda celdaAnterior =
            miNivel.obtenerCelda(b.obtenerPosicion().obtenerX(), b.obtenerPosicion().obtenerY());
        celdaAnterior.setBomberman(null);
        b.obtenerPosicion().establecerX(miPosicion.obtenerX());
        b.obtenerPosicion().establecerY(miPosicion.obtenerY());
        // graficos.recibirBomberman(b,miPosicion); No modifica en nada, seguir probando y borrarla
        // de última
        miBomberman = b;
        b.obtenerGrafico().mover(dir);
        boolean soyDios = miBomberman.obtenerModoDios();
        for (int i = 0;
            i < misEnemigos.length;
            i++) { // TESTEO PARA CHEQUEAR COLISION ENTRE BOMBERMAN Y ENEMIGO
          if (misEnemigos[i] != null && !soyDios) {
            miBomberman.morir(); // ACA LLAMARIA A LA FUNCION MATAR BOMBERMAN
            this.miNivel.obtenerManejadorGUI().cartelPerder();
            break; // PROVISORIO
          }
        }
        // PROVISORIO PARA PROBAR POWERUPS, ESTÁN SUELTOS EN LAS CELDAS. ESTO DEBERÍA MODELARSE EN
        // OTRA CLASE
        if (miPowerUp != null) {
          System.out.println("PowerUp tocado");
          miPowerUp.empower(b); // ACTIVA EL POWERUP
          miNivel.eliminarPowerUp(miPowerUp);
          this.quitarPowerUp();
          // AUMENTA LA PUNTUACION
          this.miNivel.obtenerManejadorGUI().establecerPuntaje(this.miNivel.obtenerPuntuacion());
        }
        b.actualizarPosicionBomba();

      } else {
        miPared.recibirBomberman(b, dir);
      }
    }
  }