/** * Método que recibe a un enemigo en la celda * * @param e de tipo Enemigo que representa el enemigo a recibir */ public void recibirEnemigo(Enemigo e, int dir) { if (miBomba == null) { if (miPared == null) { Celda celdaAnterior = miNivel.obtenerCelda(e.obtenerPosicion().obtenerX(), e.obtenerPosicion().obtenerY()); celdaAnterior.eliminarEnemigo(e); // LO QUITA DE LA CELDA ANTERIOR e.obtenerPosicion().establecerX(miPosicion.obtenerX()); e.obtenerPosicion() .establecerY(miPosicion.obtenerY()); // ACTUALIZA LAS POSICIONES LOGICAS Y GRAFICAS graficos.recibirEnemigo(e, miPosicion); e.obtenerGrafico().mover(dir); if (miBomberman != null) { // VERIFICA SI MATO AL BOMBERMAN0 boolean soyDios = miBomberman.obtenerModoDios(); if (!soyDios) { miBomberman.morir(); // ACA LLAMARIA A LA FUNCION MATAR BOMBERMAN this.miNivel.obtenerManejadorGUI().cartelPerder(); } } this.añadirEnemigo(e); } else { miPared.recibirEnemigo(e, dir); } } }
/** * 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); } } }