Skip to content

Commit

Permalink
con menu
Browse files Browse the repository at this point in the history
  • Loading branch information
Malena-Sciutto committed Nov 20, 2023
1 parent 0fb59e2 commit 1683527
Show file tree
Hide file tree
Showing 6 changed files with 107 additions and 44 deletions.
Binary file added assets/fondoMenu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/enemigos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ class CaminoInvalido {
var property posicionEntrada = tunel.position()

method image(){
return "pisoNormal.png"
return "baldoza.png"
}

method colisionarCon(personaje) {
Expand Down Expand Up @@ -326,7 +326,7 @@ object puertaNivel{
}

method sePuedePasarNivel(){
return self.estanHarryYSirius() and protagonistas.puedenPasarPuerta(self) and estado.estaAbierta()
return self.estanHarryYSirius() and protagonistas.puedenPasarPuerta(self) and estado.estaAbierto()
}

method estanHarryYSirius() { // se fija si estan los dos para cambiar de nivel
Expand Down
22 changes: 5 additions & 17 deletions src/juego.wpgm
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,17 @@ program juego {
game.cellSize(50)
game.width(30)
game.height(18)


nivel1.iniciar()

keyboard.up().onPressDo({ harry.mover(arriba) })
keyboard.down().onPressDo({ harry.mover(abajo) })
keyboard.left().onPressDo({ harry.mover(izquierda) })
keyboard.right().onPressDo({ harry.mover(derecha) })
menu.iniciar()

keyboard.w().onPressDo({ sirius.mover(arriba) })
keyboard.s().onPressDo({ sirius.mover(abajo) })
keyboard.a().onPressDo({ sirius.mover(izquierda) })
keyboard.d().onPressDo({ sirius.mover(derecha) })


// keyboard.q().onPressDo({ sirius.equiparSiPuede(game.uniqueCollider(sirius))})
// keyboard.l().onPressDo({ harry.equiparSiPuede(game.uniqueCollider(harry))})
game.onCollideDo(harry, {colisionado => colisionado.colisionarCon(harry)})
game.onCollideDo(sirius, {colisionado => colisionado.colisionarCon(sirius)})
keyboard.space().onPressDo({ sirius.usarObjeto() })
keyboard.enter().onPressDo({ harry.usarObjeto() })

//keyboard.p().onPressDo({ harry.estaticos()})
keyboard.o().onPressDo({ harry.abrir() })
keyboard.e().onPressDo({ sirius.abrir() })
keyboard.q().onPressDo({ sirius.soltar() })


game.start()
}
120 changes: 96 additions & 24 deletions src/nivelx.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ import direcciones.*
import musica.*

object nivelActual{ // hago directamente un obj nivel que se acuerde en donde esta.
var property nivelActual = nivelM
var property nivelActual = menu

method pasarDeNivel(){
nivelActual.terminar()
nivelActual = nivelActual.siguiente()
nivelActual.iniciar()
}
Expand All @@ -21,32 +22,37 @@ object nivelActual{ // hago directamente un obj nivel que se acuerde en donde es
class Nivel{
// const property cancion


method fondo()
method accionDeGuardias()
var property position= game.origin()
method image()
method siguiente()

method iniciar() {
self.terminar()

method iniciar(){
self.configurar()
self.generar()
nivelActual.nivelActual(self)
self.accionDeGuardias()
// musica.reproducir(self.cancion())

}


method configurar() {
game.boardGround(self.fondo())


game.addVisual(self)
}

method terminar() { // En vez de hacer un clear, que borra tambíen los datos del tablero, solo saco los visuals
game.allVisuals().forEach({visual => game.removeVisual(visual)})
//game.removeTickEvent("caminataGuardias")
}

method esSolidoPara(personaje){
return false
}

method colisionarCon(personaje){}

}

class NivelDeJuego inherits Nivel{

method accionDeNivel(){}
method terminarAccionNivel(){}

method celdas()

method generar(){
Expand All @@ -62,17 +68,52 @@ class Nivel{
celda.generar(game.at(x,y))
}

method pasarDeNivel(){

override method terminar() { // En vez de hacer un clear, que borra tambíen los datos del tablero, solo saco los visuals
game.allVisuals().forEach({visual => game.removeVisual(visual)})
self.terminarAccionNivel()
}

override method iniciar() {
nivelActual.nivelActual(self)
self.generar()
self.configurar()
self.accionDeNivel()
// musica.reproducir(self.cancion())
}
}


object menu inherits Nivel{
override method image() = "background2.png"


override method siguiente(){
return reglas
}

override method configurar(){
game.clear()
super()
keyboard.enter().onPressDo({ nivelActual.pasarDeNivel() })
}
}

object reglas inherits Nivel{
override method image() = "background.png"

override method terminar(){
game.clear()
}

override method siguiente(){
return nivel1
}
}

object nivelM inherits Nivel {
object nivelM inherits NivelDeJuego {


override method fondo() = "nivelM.png"
override method image() = "nivelM.png"

override method celdas(){
return
Expand All @@ -97,19 +138,23 @@ object nivelM inherits Nivel {
].reverse()
}

override method accionDeGuardias(){
override method accionDeNivel(){
game.onTick(500, "caminataGuardias", {guardiasPerseguidores.perseguir()})
}

override method siguiente(){} // hay que agregarle que nivle le sigue

override method terminarAccionNivel(){
game.removeTickEvent("caminataGuardias")
}

}



object nivel1 inherits Nivel {
object nivel1 inherits NivelDeJuego {

override method fondo() = "background2.png"
override method image() = "background2.png"

override method celdas(){
return
Expand All @@ -134,22 +179,49 @@ object nivel1 inherits Nivel {
].reverse()
}

override method accionDeGuardias(){
override method accionDeNivel(){
game.onTick(500, "caminataGuardias", {guardiasNoPerseguidores.perseguir()})
}

override method configurar(){
nivelActual.nivelActual(self)
self.accionDeNivel()
keyboard.up().onPressDo({ harry.mover(arriba) })
keyboard.down().onPressDo({ harry.mover(abajo) })
keyboard.left().onPressDo({ harry.mover(izquierda) })
keyboard.right().onPressDo({ harry.mover(derecha) })

keyboard.w().onPressDo({ sirius.mover(arriba) })
keyboard.s().onPressDo({ sirius.mover(abajo) })
keyboard.a().onPressDo({ sirius.mover(izquierda) })
keyboard.d().onPressDo({ sirius.mover(derecha) })

game.onCollideDo(harry, {colisionado => colisionado.colisionarCon(harry)})
game.onCollideDo(sirius, {colisionado => colisionado.colisionarCon(sirius)})
keyboard.space().onPressDo({ sirius.usarObjeto() })
keyboard.enter().onPressDo({ harry.usarObjeto() })

keyboard.o().onPressDo({ harry.abrir() })
keyboard.e().onPressDo({ sirius.abrir() })
keyboard.q().onPressDo({ sirius.soltar() })
}

override method generar(){
game.addVisual(self)
super()
tunel.position(game.at(7, 2))
game.addVisual(sirius)
sirius.position(game.at(1,0))
}


override method siguiente(){
return nivelM
}

override method terminarAccionNivel(){
game.removeTickEvent("caminataGuardias")
}

}

//object nivelC inherits Nivel{
Expand Down
3 changes: 3 additions & 0 deletions src/objetosUtiles.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ object abierto{

method estadoContrario() = cerrado
method estaAbierto() = true
method esSolidoPara(personaje){
return false
}
}

object cofre inherits Cofre{}
Expand Down
2 changes: 1 addition & 1 deletion src/personajes.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ class Estado {
method image() = "" + self + "Con" + self.objeto() + ""
method esPerseguible() = true
method puedeMoverse() = true
method puedePasar(puerta) = false
method puedePasar(puerta) = true

method tieneLlave() = objeto.esLlave() // o objeto == llave
method tieneVarita() = objeto.esVarita()
Expand Down

0 comments on commit 1683527

Please sign in to comment.