diff --git a/src/enemigos.wlk b/src/enemigos.wlk index 73b5cde..6e6c275 100644 --- a/src/enemigos.wlk +++ b/src/enemigos.wlk @@ -310,8 +310,7 @@ class ZonaVigilada inherits ZonaDeGuardias{ override method colisionarCon(personaje){ if (personaje.esPerseguible()){ guardiasPerseguidores.acercarseHacia() - } - + } } } diff --git a/src/juego.wpgm b/src/juego.wpgm index 4f82ddf..53d4585 100644 --- a/src/juego.wpgm +++ b/src/juego.wpgm @@ -10,7 +10,7 @@ program juego { game.cellSize(50) game.width(30) game.height(18) - + menu.iniciar() game.start() diff --git a/src/nivelx.wlk b/src/nivelx.wlk index 98f057d..39836bf 100644 --- a/src/nivelx.wlk +++ b/src/nivelx.wlk @@ -216,8 +216,8 @@ object nivel2 inherits NivelDeJuego{ [_, p, _, _, pu, ps, pu, _, _, _, p, _, zv, _, _, zv, _, _, _, _, _, _, _, _, _, _, _, p, _, _], [_, p, _, _, pu, bs, pu, _, _, _, p, _, _, _, _, _, _, zv, _, _, _, _, _, _, _, _, _, p, p, p], [p, p, _, _, pu, pu, pu, _, _, _, p, p, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, p, p, p], - [_, h, s, _, _, _, _, _, _, _, d1, _, zv, _, _, zv, _, _, _, _, _, _, _, p, _, _, _, _, _, f], - [p, p, _, _, _, _, _, _, _, _, p, _, zv, _, _, _, _, _, _, _, zv, _, _, _, _, p, p, p, p, p, p, p], + [_, h, s, _, _, _, _, _, _, _, d1, _, zv, _, _, zv, _, _, _, _, _, _, _, _, _, _, _, _, _, f], + [p, p, _, _, _, _, _, _, _, _, p, _, zv, _, _, _, _, _, _, _, zv, _, _, p, p, p, p, p, p, p, p, p], [_, p, _, _, _, _, _, _, _, _, p, p, _, _, _, _, _, _, _, _, _, _, _, _, p, p, p, p, p, _, _], [_, p, _, _, _, _, _, _, _, _, p, _, _, _, _, _, pu, pu, pu, pu, pu, pu, pu, p, p, p, p, p, _, _], [_, p, _, o, _, _, _, _, _, _, p, _, p, _, _, _, pu, _, pu, _, pu, _, pu, d2, _, pu, sb, p, _, _], @@ -255,7 +255,7 @@ object nivel3 inherits NivelDeJuego{ [p, p, p, p, p, _, f, _, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p, p], [p, _, _, _, _, _, _, a, a, a, a, a, a, a, a, ag, _, _, _, _, _, _, _, _, _, _, _, _, _, p, p], [p, _, _, m, m, m, m, m, m, m, m, _, _, _, _, _, _, m, _, m, _, m, _, _, m, _, _, _, _, p, p], - [p, _, _, a, ag, a, a, a, m, _, _, _, _, _, _, _, _, m, _, m, _, m, o, _, m, _, _, _, _, p, p], + [p, _, a, a, ag, a, a, a, m, _, _, _, _, _, _, _, _, m, _, m, _, m, o, _, m, _, _, _, _, p, p], [p, _, _, _, _, _, o, _, _, _, _, _, _, _, _, _, _, m, _, _, _, m, _, _, m, _, _, _, _, p, p], [p, a, a, a, ag, a, a, a, m, _, _, _, _, _, _, _, _, m, m, m, _, m, _, _, m, m, m, m, _, p, p], [p, _, _, p, m, m, m, m, m, _, _, _, _, m, m, _, _, _, _, _, _, _, _, _, _, _, _, _, _, p, p], @@ -277,7 +277,9 @@ object nivel3 inherits NivelDeJuego{ } - override method siguiente(){} + override method siguiente(){ + return nivel4 + } override method hechizoNivel(personaje){ personaje.patronus() diff --git a/src/objetosUtiles.wlk b/src/objetosUtiles.wlk index dc0570c..2e9cf48 100644 --- a/src/objetosUtiles.wlk +++ b/src/objetosUtiles.wlk @@ -212,14 +212,9 @@ class Puerta { method puedePasar(personaje) = estado.puedePasar() method serUsado(personaje){ - if (estado.esCerrado()){ - self.abrir() - } - } - - method abrir(){ estado = estado.estadoContrario() } + } object p1 inherits Puerta{} diff --git a/src/personajes.wlk b/src/personajes.wlk index 011ee92..00fafec 100644 --- a/src/personajes.wlk +++ b/src/personajes.wlk @@ -245,8 +245,7 @@ object sirius inherits Personaje { // estados normal class Estado { - //var property objeto = nada - //method image() = "" + self + "Con" + self.objeto() + "" + method esPerseguible() = true method puedeMoverse() = true method puedePasar(puerta) = false diff --git a/src/tests.wtest b/src/tests.wtest index c0467ea..245e58f 100644 --- a/src/tests.wtest +++ b/src/tests.wtest @@ -5,30 +5,71 @@ import enemigos.* import direcciones.* import objetosUtiles.* - - -//describe "nivelB" { -// +//describe "nivel1"{ +// // method initialize(){ -// nivelB.iniciar() +// nivel1.iniciar() +// } +// +// test "harry NO puede lanzar hechizo"{ +// assert.throwsException({harry.usarHechizo()}) +// } +// +// test "harry puede reparar la llave"{ +// harry.guardarLlaveRota(lr1) +// harry.guardarLlaveRota(lr2) +// harry.guardarLlaveRota(lr3) +// harry.guardarLlaveRota(lr4) +// harry.guardarLlaveRota(lr5) +// harry.guardarLlaveRota(lr6) +// harry.objetoActual(varita) +// harry.usarHechizo() +// assert.that(harry.objetoActual().esLlave()) // } // -// test "harry se choca con una pua, vuelven el y sirius al lugar de inicio"{ -// harry.position(game.at(5,8)) -// caminoDePuas.activarMovimiento() -// harry.mover(arriba) -// caminoDePuas.activarMovimiento() -// assert.equals(game.at(1,8) , harry.position()) -// assert.equals(game.at(2,8) , sirius.position()) +// test "sirius puede tirar la varita"{ +// +// sirius.objetoActual(varita) +// sirius.soltar() +// assert.equals(varita.position(), sirius.position()) // } // -// test "harry mueve la palanca y abre la puerta correspondiente" { -// harry.position(game.at(5,10)) -// harry.usarObjeto() -// assert.equals(abierto, p1.estado()) +// test"sirius perro puede agarrar la varita"{ +// sirius.transformarse() +// sirius.guardar(varita) +// assert.that(sirius.objetoActual().esVarita()) +// } +// test "guardia puede perseguir a harry"{ +// harry.position(game.at(10,10)) +// const guardia = new GuardiaPerseguidor(position = game.at(11,11), posicionDeCustodia = game.at(11,11)) +// assert.that(guardia.puedePerseguir(harry)) // } + //} + +describe "nivel2" { + + method initialize(){ + nivel2.iniciar() + } + + test "harry se choca con una pua, el y sirius pierden (se congelan)"{ + const puaaa = new Pua(position = (game.at(5,8))) + h.generar(game.at(5,8)) + puaaa.activarMovimiento() + assert.equals(harry.congelado() , harry.estado()) + assert.equals(sirius.congelado() , sirius.estado()) + } + + test "harry mueve la palanca y abre la puerta correspondiente" { + h.generar(game.at(0,5)) + bs.generar(game.at(0,5)) + harry.usarObjeto() + assert.equals(abierto, p2.estado()) + } + +} describe "hechizos Harry" { method initialize(){ @@ -45,6 +86,10 @@ describe "hechizos Harry" { } } + + + + describe "nivel4" { method initialize(){ @@ -80,4 +125,4 @@ describe "nivel4" { assert.equals(caminoInvalido.arribaDeLaEntrada(), sirius.position()) } } - \ No newline at end of file +