diff --git a/src/enemigos.wlk b/src/enemigos.wlk index 54ad761..8187863 100644 --- a/src/enemigos.wlk +++ b/src/enemigos.wlk @@ -192,7 +192,7 @@ object guardiasPerseguidores inherits ListaGuardias {} class CaminoInvalido { const property position - var property posicionEntrada = tunel.position() + method posicionEntrada() = tunel.position() method image(){ return "baldoza.png" @@ -204,7 +204,7 @@ class CaminoInvalido { } method arribaDeLaEntrada() { - return arriba.siguiente(posicionEntrada) + return arriba.siguiente(self.posicionEntrada()) } method esSolidoPara(personaje) { diff --git a/src/nivelx.wlk b/src/nivelx.wlk index c79c3a8..8216c9c 100644 --- a/src/nivelx.wlk +++ b/src/nivelx.wlk @@ -313,7 +313,6 @@ object nivel4 inherits NivelDeJuego { override method generar(){ super() - tunel.position(game.at(7, 2)) game.addVisual(sirius) sirius.position(game.at(1,0)) } diff --git a/src/tests.wtest b/src/tests.wtest index 1898e42..c0467ea 100644 --- a/src/tests.wtest +++ b/src/tests.wtest @@ -45,7 +45,7 @@ describe "hechizos Harry" { } } -describe "nivel1" { +describe "nivel4" { method initialize(){ nivel4.iniciar() @@ -60,22 +60,24 @@ describe "nivel1" { } - test "harry entra a la zona invisible. Los dos pueden moverse"{ - harry.perder() - sirius.perder() + test "harry entra a la zona invisible. Sirius puede moverse"{ + harry.estado(harryHumano) + sirius.estado(siriusHumano) harry.transformarse() assert.equals(harryInvisible, harry.estado()) harry.entrarEnZonaGuardias() - assert.that(harry.sePuedeMover(arriba)) assert.that(sirius.sePuedeMover(arriba)) } - test "harry choca contra una pared"{ - harry.position(game.at(2, 1)) + test "sirius choca contra una pared y no puede moverse"{ sirius.position(game.at(2,1)) - harry.mover(arriba) - sirius.mover(arriba) - assert.notThat(harry.sePuedeMover(arriba)) assert.notThat(sirius.sePuedeMover(arriba)) } -} \ No newline at end of file + + test "sirius pisa la zona invalida y vuelve al principio del camino"{ + const caminoInvalido = new CaminoInvalido(position = game.at(4, 13)) + caminoInvalido.colisionarCon(sirius) + assert.equals(caminoInvalido.arribaDeLaEntrada(), sirius.position()) + } +} + \ No newline at end of file