From dc23f92dc9363afe55770061b6b6ea9949741bbe Mon Sep 17 00:00:00 2001 From: Gonzalo Grillo Date: Wed, 16 Oct 2024 22:12:12 -0300 Subject: [PATCH] Agrego clase "Moneda" (con imagen) y tests de obstaculos --- assets/moneda.png | Bin 0 -> 1676 bytes example.wlk | 35 +++++++++++++++++++++++++++++++++-- pruebas.wtest | 31 +++++++++++++++++++++++++------ 3 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 assets/moneda.png diff --git a/assets/moneda.png b/assets/moneda.png new file mode 100644 index 0000000000000000000000000000000000000000..76b07119f6a67fb30e8bc6637b5f39b912e1df7c GIT binary patch literal 1676 zcma)6c~BB)6sKc7$}~%JEe(%~Cdo4M$OMltJW^Z6OibB4&@xloG%QHh+&0t^+6)TG zC{4}rgfvqkD^VIm-PF7Ym@qL@VMzs1l*MVbzqaF>dEa~Q`{RA@_`P4w(IEJ`HJjG} z0DyIVzA%JVzgiYO9qnBmR&!UYR-8w`y#X~{7UNoHb-Y)g7XUyfu2o0c9{swE3RKjeRI?y@19BYLml>?^*x6Rot=Oq+cx_Z zSQq%UE9aq4ZnV0~u3}jfk&)r_oxmHaxnQZdNx7W$e@CrpD#Jx2l~J2&Aq?1_{f`2#VdSGa~BK5%^~uD^lf#=lUN56V=(V9-s79t!24s*l1rhAp9- z7#=w#U%z(4%B(*;t*qDk>aG5&$=+MbRNn2DPbk7<|4@O8&kLPKidMEPHCH<{%~R2p z^(i~V4Z$}{g~w_5xy~#`$h>&WCPS6YFc>_T$=tvRo<+T937L-PR2`z6OmaisL8>YM zYf%-Y!=O_Zr|3fY5Ro&SHiE8n+-lSYa}R&)zqZ^K#iD~}rDvChA$x9>_K=x2C|omm zm2X>>3(5f95;O8s3Vpi!^&8ty69;1nBzthq(`cgG;nTc zGTP$QlHBEHbx%dP4Z$On?8dSaxd+3;CCMEr`0u4t^J zTpNyo7}38oBW>{x%~>-jG)w8-6Di?d{dCPhxDX1jVn(?hV!dWbmp)R@b-o;BtP5%x z5MXP&gjkYdl%0lo;;;Yp$$x2S4fA+miwRxniF6xOa`2cSZA;>z=JNFNT186!r!-8K z!61uxc=BQsm~^Szb{s;B?MsL1MU;L6%byYcR$^HP!uY7)H84WLHTUsM+0Fo6sx&df zR?ra z+&yU@pu1q$-W3CiDXVHQbkcG{|CX0bAN4?coT8C)38b;0UkF6*%6Ae?%BRuhbwa+` zjIjM)-foP~)45cnPNL)pdt9Q+$}0icIC~(-NlD3)6s!gKhw#GVKcyu|RNAdpV#P7C z7HE4%IJy(Y9yZnfl&szftn)xSu|ST-d;VnTQB36{%|v@Id}TNhd8(+%f-wgfVRw=Kg40$xGZ3A=i7m; p$YQg?A^z4C|FJRv@caFoIhWfHcE&bY*5j6+{d|I8HQpz${0nl`<^%u$ literal 0 HcmV?d00001 diff --git a/example.wlk b/example.wlk index cfb0c84..9089123 100644 --- a/example.wlk +++ b/example.wlk @@ -1,12 +1,14 @@ -const velocidad = 500 +const velocidad = 100 object juegoDeDinosaurio { method iniciar() { game.addVisual(dinosaurio) game.addVisual(cactus1) game.addVisual(cactus2) + game.addVisual(moneda) game.onTick(velocidad, "moverCactus1", {cactus1.desplazate()}) game.onTick(velocidad, "moverCactus2", {cactus2.desplazate()}) + game.onTick(velocidad, "moverMoneda", {moneda.desplazate()}) // Apenas el dinosaurio colisione con un cactus, el juego termina game.whenCollideDo(dinosaurio, {elemento => elemento.teChocoElDino()}) @@ -21,6 +23,11 @@ object juegoDeDinosaurio { method finalizar() { cactus1.detenete() cactus2.detenete() + moneda.detenete() + game.removeVisual(dinosaurio) + game.removeVisual(cactus1) + game.removeVisual(cactus2) + game.removeVisual(moneda) // game.addVisual(gameOver) } } @@ -66,8 +73,32 @@ class Cactus { } } +class Moneda { + const posX + var property position = game.at(posX,0) + var property image + var colisiono = false + + method teChocoElDino() { + position = game.at(game.width()-1,0) + // sumar puntos + } + + method detenete() { + colisiono = true // de este modo, el cactus no se desplaza más + } + + method desplazate() { + if (not colisiono) { + position = position.left(1) + if (position.x() == -1) position = game.at(game.width()-1,0) + } + } +} + const cactus1 = new Cactus(posX=19,image="banana.png") -const cactus2 = new Cactus(posX=42,image="pera.png") +const cactus2 = new Cactus(posX=43,image="pera.png") +const moneda = new Moneda(posX=27,image="moneda.png") // object suelo { // method image() = "" diff --git a/pruebas.wtest b/pruebas.wtest index bfaaae9..00b2d7a 100644 --- a/pruebas.wtest +++ b/pruebas.wtest @@ -1,9 +1,28 @@ -// import example.* +import example.* -// describe "group of tests for pepita" { +describe "Tests de los obstaculos" { -// test "pepita has initial energy" { -// assert.equals(100, pepita.energy()) -// } + test "Cuando el dino choca con *cactus1*, desaparecen todos los visuales" { + cactus1.teChocoElDino() + var verificador + if(game.hasVisual(cactus1) && game.hasVisual(cactus2) && game.hasVisual(dinosaurio) && game.hasVisual(moneda)){ + verificador = false + } + else{ + verificador = true + } + assert.that(verificador) + } + test "Cuando el dino choca con *cactus2*, desaparecen todos los visuales" { + cactus2.teChocoElDino() + var verificador + if(game.hasVisual(cactus1) && game.hasVisual(cactus2) && game.hasVisual(dinosaurio) && game.hasVisual(moneda)){ + verificador = false + } + else{ + verificador = true + } + assert.that(verificador) + } -// } \ No newline at end of file +}