Skip to content

Commit

Permalink
Ya funciona bien agil, ahora haciendo que los magos tengan animacion …
Browse files Browse the repository at this point in the history
…de disparar
  • Loading branch information
NicolasSchkurko committed Dec 9, 2024
1 parent fa56c57 commit 3f65cc9
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 10 deletions.
2 changes: 1 addition & 1 deletion adminProyectiles.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ object administradorDeProyectiles {
proyectiles.add(nombreParaProyectil)
self.sumarProyectil()
game.addVisual(nombreParaProyectil)
game.schedule(50, {nombreParaProyectil.combinar()})
game.schedule(10, {nombreParaProyectil.combinar()})
try nombreParaProyectil.colisionar() catch e "YA NO EXISTE PROYECTIL"

}
Expand Down
6 changes: 5 additions & 1 deletion administradorDeEnemigos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ object administradorDeEnemigos {

method hayEnemigoFila(numeroFila) = cantDeEnemigosPorLinea.get(numeroFila).tieneEnemigos()

method noHayEnemigoFila(numeroFila) = cantDeEnemigosPorLinea.get(numeroFila).noTieneEnemigos()

}

class Linea{
Expand All @@ -102,7 +104,9 @@ class Linea{
cantEnemigos = 0
}

method tieneEnemigos() = (cantEnemigos > 0)
method tieneEnemigos() = cantEnemigos > 0

method noTieneEnemigos() = cantEnemigos == 0 //nadie tiene enemigos

method aumentarCant() {
cantEnemigos+=1
Expand Down
2 changes: 2 additions & 0 deletions cursor.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ object cursor {
method proyectil()=false
method cambiarAccion(accionNueva){}
method tipo()=descartable
method sePuedeSuperponer() = true
method mejorar(){}
}
object descartable{
method esperar(){}
Expand Down
17 changes: 11 additions & 6 deletions magos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ class Mago {
// Propiedades
const position
var property vida
var property imagen
var property imagen = imagenBase

const imagenBase

// Métodos
method frenarEnemigo() = true
Expand Down Expand Up @@ -64,12 +66,15 @@ class Mago {

class MagoQueDispara inherits Mago{
const proyectilBase
const imagenQueDispara

override method disparar(){
const hayEnemigo = self.enemigoEnSuFila()
if (hayEnemigo) {
const posicionProyectil = new MutablePosition(x = self.position().x(), y = self.position().y())
administradorDeProyectiles.generarProyectil(posicionProyectil, proyectilBase)
imagen = imagenQueDispara
game.schedule(200, {imagen = imagenBase})
}
}

Expand All @@ -82,21 +87,21 @@ class MagoQueDispara inherits Mago{
// ===============================

// Mago de Fuego
class MagoFuego inherits MagoQueDispara(vida = 100, imagen = "magoFuego.png", proyectilBase = proyectilNormal){}
class MagoFuego inherits MagoQueDispara(vida = 100, imagenBase = "magoFuego.png", imagenQueDispara = "magoFuegoDispara.png", proyectilBase = proyectilNormal){}

// Mago Irlandés (sanador)
class MagoIrlandes inherits Mago(vida = 100, imagen = "magoHealer.png") {
override method valorAgregado() = 10
}

// Mago de Hielo
class MagoHielo inherits MagoQueDispara(vida = 100, imagen = "magoHielo.png", proyectilBase = proyectilPenetrante){}
class MagoStop inherits MagoQueDispara(vida = 100, imagen = "magoStop.png", proyectilBase = proyectilDeStop){}
class MagoHielo inherits MagoQueDispara(vida = 100, imagenBase = "magoHielo.png", imagenQueDispara = "magoHieloDispara.png",, proyectilBase = proyectilPenetrante){}
class MagoStop inherits MagoQueDispara(vida = 100, imagenBase = "magoStop.png",, imagenQueDispara = "magoStopDispara.png", proyectilBase = proyectilDeStop){}
// Mago de Piedra
class MagoPiedra inherits Mago(vida = 400, imagen = "magoPiedra.png") {}
class MagoPiedra inherits Mago(vida = 400, imagenBase = "magoPiedra.png") {}

// Mago Explosivo
class MagoExplosivo inherits Mago(vida = 1000, imagen = "magoExplosivo.png") {
class MagoExplosivo inherits Mago(vida = 1000, imagenBase = "magoExplosivo.png") {
const explosion = game.sound("m.explosion.mp3")

override method matar() {
Expand Down
1 change: 0 additions & 1 deletion main.wpgm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import menu.*


program juego {

game.title("Magos VS Slimes")
game.height(6)
game.width(15)
Expand Down
3 changes: 2 additions & 1 deletion proyectil.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class Proyectil {
// Propiedades
var property proyectil
var position
const y = position.y()
const property danio = proyectil.danio()
var frame = 0
var imagen = proyectil.imagenes().get(0)
Expand All @@ -29,7 +30,7 @@ class Proyectil {
imagen=proyectil.imagenes().get(0)
frame=1
position.goRight(1)
if (self.llegueAlFinal() || self.verificarEnemigosEnfrente()) { self.eliminar() }
if (administradorDeEnemigos.noHayEnemigoFila(y) || self.llegueAlFinal()) { self.eliminar() }

}
// Método que revisa si llego al final
Expand Down

0 comments on commit 3f65cc9

Please sign in to comment.