Skip to content

Commit

Permalink
Test de comportamiento de un personaje, fireboy, y watergirl
Browse files Browse the repository at this point in the history
  • Loading branch information
Valentin-Sosa committed Oct 26, 2024
1 parent 1de2f2e commit ee0d180
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 127 deletions.
1 change: 0 additions & 1 deletion elementos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ object elevadorPorBoton inherits Elevador (position = game.at(14, 9))
game.sound("elevador.ogg").play()
activado = false
}

}
}

Expand Down
2 changes: 1 addition & 1 deletion personajes.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class Personaje {
{
const posiblesObjetos = game.getObjectsIn(posicion)
return posiblesObjetos.all({ objeto => objeto.tipo() != "NoColisionable" }) && self.dentroDeLosLimites(posicion)
}
}

method dentroDeLosLimites(posicion) = posicion.x().between(0, 14) && posicion.y().between(0, 15)

Expand Down
187 changes: 62 additions & 125 deletions pruebas.wtest
Original file line number Diff line number Diff line change
Expand Up @@ -4,139 +4,76 @@ import mapa.*
import main.*


describe "Interacciones generales de un personaje" {

const personaje = new Personaje(position = game.at(0,0))
test "Moverse a la derecha"
{
personaje.movDerecha()
assert.equals(1, personaje.position().x())
}

describe "grupo pruebasmovimiento fireboy"{
test "fireboy se mueve a la izquierda"{
fireboy.position(game.at(3,0))
fireboy.movIzquierda()
assert.equals(game.at(2,0),fireboy.position())
}
test "fireboy se mueve a la derecha"{
fireboy.position(game.at(3,0))
fireboy.movDerecha()
assert.equals(game.at(4,0),fireboy.position())
}
test "fireboy salta"{
fireboy.position(game.at(3,0))
fireboy.movSaltar()
assert.equals(game.at(3,1),fireboy.position())
}
test "fireboy cae"{
fireboy.position(game.at(3,2))
fireboy.caer()
assert.equals(game.at(3,1),fireboy.position())
}
}

describe "grupo pruebas movimiento watergirl"{
test "watergirl se mueve a la izquierda"{
watergirl.position(game.at(3,0))
watergirl.movIzquierda()
assert.equals(game.at(2,0),watergirl.position())
}
test "watergirl se mueve a la derecha"{
watergirl.position(game.at(3,0))
watergirl.movDerecha()
assert.equals(game.at(4,0),watergirl.position())
}
test "watergirl salta"{
watergirl.position(game.at(3,0))
watergirl.movSaltar()
assert.equals(game.at(3,1),watergirl.position())
}
test "watergirl cae"{
watergirl.position(game.at(3,2))
watergirl.caer()
assert.equals(game.at(3,1),watergirl.position())
}
}

//no sabemos como hacer (o forzar la colision) entre dos objetos
describe "grupo pruebas colisiones " {

test " de watergirl con bloque tierra" {
watergirl.position(game.at(1,0))
watergirl.posicionAnt(game.at(1,0))
watergirl.movSaltar()
assert.equals(game.at(1,0),watergirl.position())
test "Moverse a la izquierda"
{
personaje.movIzquierda()
assert.equals(0, personaje.position().x())
}
test " de fireboy con bloque tierra" {
fireboy.position(game.at(1,0))
mapa.crearBloquesDeTierra()
fireboy.movSaltar()
assert.equals(game.at(1,0),fireboy.position())
}

test " de watergirl con bloque agua" {
watergirl.position(game.at(8,0))
watergirl.posicionAnt(game.at(8,0))
watergirl.movDerecha()
assert.equals(game.at(9,0),watergirl.position())
}
test "Moverse hacia arriba"
{
personaje.movSubir()
assert.equals(1, personaje.position().y())
}

test " de fireboy con bloque agua" {
fireboy.position(game.at(8,0))
fireboy.posicionAnt(game.at(8,0))
fireboy.movDerecha()
assert.equals(game.at(9,0),fireboy.position())
}
test "Caer hacia abajo 1 solo espacio"
{
personaje.caer()
assert.equals(0, personaje.position().y())
}

test " de watergirl con bloque fuego" {
watergirl.position(game.at(4,0))
watergirl.posicionAnt(game.at(4,0))
watergirl.movDerecha()
assert.equals(game.at(1,2),watergirl.position())
}
test "Muere con un bloque de acido"
{
const bloqueAcido = new BloqueAcido()
bloqueAcido.tratarColision(personaje)
assert.that(personaje.estaMuerto())
}

test " de fireboy con bloque fuego" {
fireboy.position(game.at(4,0))
fireboy.posicionAnt(game.at(4,0))
fireboy.movDerecha()
assert.equals(game.at(1,0),fireboy.position())
}
test "Muere con un bloque de pinchos"
{
const bloquePinchos = new BloquePinchos()
bloquePinchos.tratarColision(personaje)
assert.that(personaje.estaMuerto())
}
}

test " de watergirl con bloque acido" {
watergirl.position(game.at(8,0))
watergirl.posicionAnt(game.at(8,0))
watergirl.movDerecha()
assert.equals(game.at(1,2),watergirl.position())
}
describe "Interacciones de fireboy" {

test " de fireboy con bloque acido" {
fireboy.position(game.at(8,0))
fireboy.posicionAnt(game.at(8,0))
fireboy.movDerecha()
assert.equals(game.at(1,0),fireboy.position())
}
test "No muere con un bloque de fuego"
{
const bloqueFuego = new BloqueFuego()
bloqueFuego.tratarColision(fireboy)
assert.that(!fireboy.estaMuerto())
}
test "Muere con un bloque de agua"
{
const bloqueAgua = new BloqueAgua()
bloqueAgua.tratarColision(fireboy)
assert.that(fireboy.estaMuerto())
}
}

describe "grupo pruebas elementos"{
test "prueba de boton"{

assert.equals(false)
}
test "prueba de elevadorPorPalanca"{

assert.equals(false)
}
test "prueba de elevadorPorBoton"{

assert.equals(false)
}
test "prueba de palanca"{

assert.equals(false)
}
test "prueba de puertaFuego"{
puertaFuego.position(game.at(12,14))
assert.equals(game.at(12,14),puertaFuego.position())
}
test "prueba de puertaAgua"{
puertaAgua.position(game.at(8,14))
assert.equals(game.at(8,14),puertaAgua.position())
}
test "prueba de cubo"{

assert.equals(false)
}
describe "Interacciones de watergirl" {

test "No muere con un bloque de agua"
{
const bloqueAgua = new BloqueAgua()
bloqueAgua.tratarColision(watergirl )
assert.that(!watergirl.estaMuerto())
}
test "Muere con un bloque de fuego"
{
const bloqueFuego = new BloqueFuego()
bloqueFuego.tratarColision(watergirl)
assert.that(watergirl.estaMuerto())
}
}

0 comments on commit ee0d180

Please sign in to comment.