diff --git a/administradorDeEnemigos.wlk b/administradorDeEnemigos.wlk index 1631d5b..1f6231f 100644 --- a/administradorDeEnemigos.wlk +++ b/administradorDeEnemigos.wlk @@ -12,31 +12,31 @@ object administradorDeEnemigos { // Propiedades var nombreEnemigo = 10000 var enemigos = #{} - + // Métodos de Consulta method enemigos() = enemigos - method columnaOcupada() = enemigos.filter({ enemigo => enemigo.position().x() == 14 }).size() == 5 // Verifica si la columna de posición x=14 está ocupada por 5 enemigos +// method columnaOcupada() = enemigos.filter({ enemigo => enemigo.position().x() == 14 }).size() == 5 // Verifica si la columna de posición x=14 está ocupada por 5 enemigos method nombre() = nombreEnemigo method pocosEnemigosEnPantalla() = administradorDeOleadas.enemigosVivos() < maxEnemigosEnPantalla // Genera un nuevo nombre para los enemigos method sumarEnemigo() { nombreEnemigo += 1 } - // Genera un nuevo enemigo del tipo especificado, si hay espacio en la columna + // Genera un nuevo enemigo del tipo especificado, si hay espacio en la columna method generarEnemigo(tipo) { - if (not self.columnaOcupada() && self.pocosEnemigosEnPantalla()) { + if (/* not self.columnaOcupada() && */ self.pocosEnemigosEnPantalla()) { const posicionTemporal = new MutablePosition(x = 14, y = 0.randomUpTo(5).truncate(0)) - var nombreParaEnemigo = self.nombre() + var nombreParaEnemigo = self.nombre() /* Solo genera el enemigo si la posición temporal está vacía */ if (game.getObjectsIn(posicionTemporal).isEmpty()) { - + nombreParaEnemigo = new Slime(position = posicionTemporal, tipo = tipo) enemigos.add(nombreParaEnemigo) /* Añade el nuevo enemigo a la colección de enemigos activos */ - + self.sumarEnemigo() /* Incrementa el contador de enemigos en el administrador */ administradorDeOleadas.sumarEnemigo() /* Notifica al administrador de oleadas */ - + return game.addVisual(nombreParaEnemigo) /* Muestra al enemigo en el juego */ } else { return /* No genera el enemigo si la posición está ocupada */ diff --git a/administradorDeJuego.wlk b/administradorDeJuego.wlk index 186f1a8..d8c3c60 100644 --- a/administradorDeJuego.wlk +++ b/administradorDeJuego.wlk @@ -116,7 +116,6 @@ object pantalla { method image() = estado.imagen() var property estado = portada - var sonido = estado.sonido() method estado()=estado method reproducirSonido(){ @@ -156,8 +155,8 @@ object fondo{ // ======================================= object sonidoPartida{ - var property sonido = "pvz8bit.mp3" - var sonidoFinal="TEARS.mp3" + const sonido = "pvz8bit.mp3" + const sonidoFinal="TEARS.mp3" var musicaActual=musica1 const musica1 = game.sound(sonido) const musica2 = game.sound(sonidoFinal) @@ -198,20 +197,18 @@ object configuracion { const tiemposProyectiles = 600 const tiempoDisparo = 3000 const tiempoDinero = 750 - const tiempoMuerte = 1000 const tiempoMoverEnemigo = 1000 //ticks que usa el juego const tickParaMoverEnemigos = game.tick(tiempoMoverEnemigo,{administradorDeEnemigos.moverEnemigos()},false) const tickParaAumentarDinero = game.tick(tiempoDinero, { puntaje.sumarPuntos() },false) const tickParaDisparar= game.tick(tiempoDisparo, { administradorDeMagos.disparar()},false) - const tickParaMoverYColisionarDisparos= game.tick(tiemposProyectiles, { administradorDeProyectiles.moverProyectiles() administradorDeProyectiles.impactarProyectiles() },false) + const tickParaMoverYColisionarDisparos= game.tick(tiemposProyectiles, { administradorDeProyectiles.moverProyectiles() + administradorDeProyectiles.impactarProyectiles() },false) const tickParaCambiarFrames= game.tick((tiemposProyectiles/3)-5, {administradorDeProyectiles.cambiarFrame()},false) const tickParaCambiarFramesEnemigos= game.tick((tiempoMoverEnemigo/3)-5, {administradorDeEnemigos.cambiarFrame()},false) - - var property sonido = "pvz8bit.mp3" - var musica = game.sound(self.sonido()) // El reproductor de música es constante; solo cambia el archivo de sonido + // El reproductor de música es constante; solo cambia el archivo de sonido method iniciarMusica() {sonidoPartida.iniciarMusica()} // Método para detener la música de fondo method detenerMusica() { diff --git a/magos.wlk b/magos.wlk index ed3fd9a..6bd1b6e 100644 --- a/magos.wlk +++ b/magos.wlk @@ -134,7 +134,7 @@ class MagoTienda{ method text() = costo.toString() + "$" method textColor() = "ffec00ff" - + method puedeGenerarMago(){ if(puntaje.puntos() < costo){ throw new DomainException(message="No hay suficiente dinero para comprar esta Mago")