Skip to content

Commit

Permalink
Co-authored-by: Uriel Julian Bove <[email protected]>
Browse files Browse the repository at this point in the history
  • Loading branch information
AyalaSebastian committed Nov 5, 2024
1 parent 05bf025 commit af7e194
Show file tree
Hide file tree
Showing 5 changed files with 144 additions and 30 deletions.
Binary file added assets/bob.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/gameOver.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/gamever.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
143 changes: 140 additions & 3 deletions example.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,45 @@ object militar {
var property position = game.at(0, game.height() / 2) // posicionar al militar en el borde izquierdo, centrado verticalmente
var vida = 3
var inmune = false
var puedeMoverse = true

//movimientos

method moverseHaciaIzquierda(){
if(puedeMoverse){
self.position(position.left(1))
}else{
game.say(self, "No puedo moverme")
}
}

method moverseHaciaDerecha(){
if(puedeMoverse){
self.position(position.right(1))
}else{
game.say(self, "No puedo moverme")
}
}

method moverseHaciaArriba(){
if(puedeMoverse){
self.position(position.up(1))
}else{
game.say(self, "No puedo moverme")
}
}

method moverseHaciaAbajo(){
if(puedeMoverse){
self.position(position.down(1))
}else{
game.say(self, "No puedo moverme")
}
}

method desactivarMovimiento() {
puedeMoverse = false
}

//method image() = image

Expand All @@ -24,9 +63,13 @@ object militar {
method llenarVida(){vida = 3}
method cuantaVida() = vida

method dimeLasVidasActuales(){
method dimeLaVidaActual(){

game.say(self, "Vida Militar:" + vida.toString())
game.say(self, "Vida Militar:" + vida.toString())
}

method dimeVidaDeLaBase(){

game.say(self, "Vida Base:" + base.vida.toString())
}

Expand All @@ -35,6 +78,7 @@ object militar {

if(vida < 1){
game.say(self, "¡Fin Del Juego!")
interfaz.detenerJuego()
// PONER FIN DEL JUEGO
}
else{
Expand Down Expand Up @@ -96,7 +140,12 @@ object militar {
method chocarConBala(bala1){ }

method arreglarBase(){
game.onTick(5000, "POnerkla DURA",{ self.desactivarInmunidad() })
image = "bob.png"
game.say(self, "Arreglando la base")
if(inmune)self.desactivarMovimiento()
game.onTick(4000, "No Moverse",{ puedeMoverse = true })
game.onTick(4000, "volver",{ image = "soldado.png"})
//game.onTick(4000, "POnerkla DURA",{ self.desactivarInmunidad() })
base.vida(2)
}

Expand Down Expand Up @@ -243,6 +292,7 @@ class ManzanaDorada inherits Manzana{
}*/
override method habilidad() {
militar.activarInmunidad()

}
/*
override method habilidad() {
Expand Down Expand Up @@ -276,6 +326,7 @@ object base {

if(vida < 1){
game.say(militar, "Perdí cayó la base")
interfaz.detenerJuego()
// PONER FIN DEL JUEGO
}
else{
Expand All @@ -284,3 +335,89 @@ object base {
}
}

////////////////////////////////////////////////////////////
////////////////////// GAME OVER ////////////////////////
////////////////////////////////////////////////////////////
object gameOver{
var property position = game.at(0,0)
method quitar(){
game.removeVisual(self)
}
method image() = "gameOver.jpg"
method colocar(){
game.addVisual(self)
}
}

object interfaz {
method empezarJuego() {

game.addVisualCharacter(militar)

self.desbloquearTeclas()
self.colisiones()

// Generar enemigos cada 4 segundos
game.onTick(4000, "aparece enemigo", {
const enemigo1 = new Enemigo()
enemigo1.generarEnemigo()
})

game.onTick(15000, "aparece manzana roja", {
const manzanaRoja1 = new ManzanaRoja()
manzanaRoja1.generarManzana()
})

game.onTick(20000, "aparece manzana dorada", {
const manzanaDorada1 = new ManzanaDorada()
manzanaDorada1.generarManzana()
})

game.onTick(25000, "aparece manzana super", {
const superManzana1 = new SuperManzana()
superManzana1.generarManzana()
superManzana1.image("SuperManzana.png")
})
}

method desbloquearTeclas() {
keyboard.e().onPressDo { militar.dimeLaVidaActual() }
keyboard.b().onPressDo { militar.dimeVidaDeLaBase() }
keyboard.f().onPressDo { militar.arreglarBase() }
keyboard.space().onPressDo { self.detenerJuego() }
keyboard.r().onPressDo { self.restart() }
keyboard.p().onPressDo { militar.disparar() }

//flechas de movimiento
keyboard.a().onPressDo( { militar.moverseHaciaIzquierda() } )
keyboard.d().onPressDo( { militar.moverseHaciaDerecha() } )
keyboard.w().onPressDo( { militar.moverseHaciaArriba() } )
keyboard.s().onPressDo( { militar.moverseHaciaAbajo() } )
}

method colisiones() {
game.whenCollideDo(militar, { colisionado => colisionado.chocarConMilitar() })
}

method restart() {
self.empezarJuego()

gameOver.quitar()
}

method detenerJuego() {
//detener todos los eventos
game.removeTickEvent("aparece enemigo")
game.removeTickEvent("aparece manzana roja")
game.removeTickEvent("aparece manzana dorada")
game.removeTickEvent("aparece manzana super")
game.removeTickEvent("actualizar tiempo y puntos")
game.removeTickEvent("moverProyectil")

//borrar militar
game.removeVisual(militar)
//borrar zombies

gameOver.colocar()
}
}
31 changes: 4 additions & 27 deletions main.wpgm
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,7 @@ program defenderBase {
game.cellSize(50)
game.title("Defender la Base")

// Generar enemigos cada 4 segundos
game.onTick(4000, "aparece enemigo", {
const enemigo1 = new Enemigo()
enemigo1.generarEnemigo()
})

game.onTick(15000, "aparece manzana roja", {
const manzanaRoja1 = new ManzanaRoja()
manzanaRoja1.generarManzana()
})

game.onTick(20000, "aparece manzana dorada", {
const manzanaDorada1 = new ManzanaDorada()
manzanaDorada1.generarManzana()
})

game.onTick(25000, "aparece manzana super", {
const superManzana1 = new SuperManzana()
superManzana1.generarManzana()
superManzana1.image("SuperManzana.png")
})
interfaz.empezarJuego()
/*
// Actualizar el tiempo jugado y los puntos cada segundo
game.onTick(1000, "actualizar tiempo y puntos", {
Expand All @@ -38,7 +18,7 @@ program defenderBase {
})
*/
// Evento para disparar con la tecla "p"
keyboard.p().onPressDo { militar.disparar() }

/*
if(militar.frenado())
{//Frenan disparo :
Expand All @@ -54,14 +34,11 @@ program defenderBase {
}
*/

game.whenCollideDo(militar, { colisionado => colisionado.chocarConMilitar() })

//game.onCollideDo(bala1, { colisionado => colisionado.chocarConBala()})

keyboard.e().onPressDo { militar.dimeLasVidasActuales() }
// TECLAS


keyboard.f().onPressDo { militar.arreglarBase() }

game.addVisualCharacter(militar)
game.start()
}

0 comments on commit af7e194

Please sign in to comment.