Skip to content

Commit

Permalink
intentando hacer niveles
Browse files Browse the repository at this point in the history
  • Loading branch information
acorromolas11 committed Oct 15, 2024
1 parent d876ba4 commit ec6efec
Show file tree
Hide file tree
Showing 5 changed files with 141 additions and 60 deletions.
28 changes: 19 additions & 9 deletions comida.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ class Comida{
method bajar(){
if (position.y() >= -2){
position.goDown(2)
}else{
game.removeVisual(self)
position.goUp(18)
position.goLeft((0..8).anyOne()*2)
position.goRight((0..8).anyOne()*2)
position.x().max(0)
position.x().min(16)
game.addVisual(self)
}
}

Expand Down Expand Up @@ -43,12 +51,14 @@ class Comida{
}


const rosquilla = new Comida(nombre="rosquilla", puntos=10, velocidad=2, accion={homero.poneteGrasoso()})
const banana = new Comida(nombre="banana", puntos=-5, velocidad=-2, accion={homero.convertiteEnMono()})
const plutonio = new Comida(nombre="plutonio", puntos=20, velocidad=-2, accion={homero.poneteRadiactivo()})
const choripan = new Comida(nombre="choripan", puntos=5, velocidad=2, accion={homero.cometeUnChoripan()})
const mate = new Comida(nombre="mate", puntos=100, velocidad=4, accion={homero.tomateUnMate()})
const cerveza = new Comida(nombre="cerveza", puntos=50, velocidad=-4, accion={homero.tomateUnaCerveza()})
const te = new Comida(nombre="te", puntos=-100, velocidad=-2, accion={homero.tomateUnTe()})
const ensalada = new Comida(nombre="ensalada", puntos=-20, velocidad=2, accion={homero.comeEnsalada()})
const guiso = new Comida(nombre="guiso", puntos=80, velocidad=-6, accion={homero.poneteObeso()})
const rosquilla = new Comida(nombre="rosquilla", puntos=10, velocidad=1, accion={homero.poneteGrasoso()})
const banana = new Comida(nombre="banana", puntos=-5, velocidad=-1, accion={homero.convertiteEnMono()})
const plutonio = new Comida(nombre="plutonio", puntos=20, velocidad=1, accion={homero.poneteRadiactivo()})
const choripan = new Comida(nombre="choripan", puntos=5, velocidad=-1, accion={homero.cometeUnChoripan()})
const mate = new Comida(nombre="mate", puntos=100, velocidad=2, accion={homero.tomateUnMate()})
const cerveza = new Comida(nombre="cerveza", puntos=50, velocidad=-2, accion={homero.tomateUnaCerveza()})
const te = new Comida(nombre="te", puntos=-100, velocidad=-1, accion={homero.tomateUnTe()})
const ensalada = new Comida(nombre="ensalada", puntos=-20, velocidad=1, accion={homero.comeEnsalada()})
const guiso = new Comida(nombre="guiso", puntos=80, velocidad=-2, accion={homero.poneteObeso()})

const comidas = [rosquilla, banana, plutonio, choripan, mate, cerveza, te, ensalada, guiso]
10 changes: 0 additions & 10 deletions homero.wlk
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
import wollok.game.*
import comida.*

object puntosHomero {
const hom = homero
const position = new MutablePosition(x=9, y=10)

method position() = position

method text () = "Puntos: " + hom.puntos() + " Velocidad: " + hom.velocidad()

}

object homero{
var puntos = 0
var velocidad = 2
Expand Down
45 changes: 4 additions & 41 deletions main.wpgm
Original file line number Diff line number Diff line change
@@ -1,47 +1,10 @@
import wollok.game.*
import comida.*
import homero.*
import niveles.*
import tableros.*

program homeroGame{
game.title("Homero en Springfield")
game.height(12)
game.width(18)
game.cellSize(100)

game.boardGround("springfield.png")
game.addVisual(puntosHomero)
game.addVisual(homero)
game.addVisual(rosquilla)
game.addVisual(banana)
game.addVisual(plutonio)
game.addVisual(choripan)
game.addVisual(mate)
game.addVisual(te)
game.addVisual(ensalada)
game.addVisual(guiso)


game.onTick(500, "baja", {rosquilla.bajar()})
game.onTick(500, "baja", {banana.bajar()})
game.onTick(500, "baja", {plutonio.bajar()})
game.onTick(500, "baja", {cerveza.bajar()})
game.onTick(500, "baja", {choripan.bajar()})
game.onTick(500, "baja", {mate.bajar()})
game.onTick(500, "baja", {te.bajar()})
game.onTick(500, "baja", {ensalada.bajar()})
game.onTick(500, "baja", {guiso.bajar()})


keyboard.a().onPressDo({homero.moverseIzquierda()})
keyboard.d().onPressDo({homero.moverseDerecha()})

keyboard.space().onPressDo{
const colliders = game.colliders(homero)
colliders.head().interactua(homero)
homero.alterarPuntos(colliders.head().puntos())
homero.alterarVelocidad(colliders.head().velocidad())
game.removeVisual(colliders.head())
}

game.start()
nivel1.inciarFondo()
keyboard.space().onPressDo{nivel1.iniciarNivel()}
}
69 changes: 69 additions & 0 deletions niveles.wlk
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import homero.*
import comida.*
import tableros.*
import wollok.game.*

object nivel1 {
method inciarFondo(){
game.title("Homero en Springfield")
game.height(12)
game.width(18)
game.cellSize(100)

game.boardGround("springfield.png")
game.addVisual(puntosHomero)
game.addVisual(mensajes)
game.addVisual(homero)
game.addVisual(tiempo)

game.start()

if(tiempo.timer() == 0 || homero.puntos() > 200){
game.addVisual(mensajeVictoria)
game.stop()
}else if (tiempo.timer() == 0){
game.addVisual(mensajeDerrota)
game.stop()
}
}

method iniciarNivel(){
game.removeVisual(mensajes)
game.onTick(1000, "descontar tiempo", {tiempo.restarSegundo()})
game.onTick(1000, "tiempo en 0", {if(tiempo.timer() == 0) game.removeTickEvent("descontar tiempo")})
game.onTick(1000, "tiempo en 0", {if(tiempo.timer() == 0) game.removeTickEvent("baja")})
game.onTick(1000, "gano o no", {if(homero.puntos() > 200) game.addVisual(mensajeVictoria) else game.addVisual(mensajeDerrota)})

comidas.forEach({comida => game.addVisual(comida)})

game.onTick(500, "baja", {rosquilla.bajar()})
game.onTick(1000, "baja", {banana.bajar()})
game.onTick(750, "baja", {plutonio.bajar()})
game.onTick(1250, "baja", {cerveza.bajar()})
game.onTick(250, "baja", {choripan.bajar()})
game.onTick(1500, "baja", {mate.bajar()})
game.onTick(1750, "baja", {te.bajar()})
game.onTick(2000, "baja", {ensalada.bajar()})
game.onTick(2250, "baja", {guiso.bajar()})


keyboard.a().onPressDo({homero.moverseIzquierda()})
keyboard.d().onPressDo({homero.moverseDerecha()})

keyboard.space().onPressDo{
const colliders = game.colliders(homero)
colliders.head().interactua(homero)
homero.alterarPuntos(colliders.head().puntos())
homero.alterarVelocidad(colliders.head().velocidad())
game.removeVisual(colliders.head())
}

if(tiempo.timer() == 0 || homero.puntos() > 200){
game.removeTickEvent("descontar tiempo")
game.removeTickEvent("baja")
}

}

}

49 changes: 49 additions & 0 deletions tableros.wlk
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import homero.*
object puntosHomero {
const hom = homero
const position = new MutablePosition(x=9, y=10)

method position() = position

method text () = "Puntos: " + hom.puntos() + " Velocidad: " + hom.velocidad()

}

object mensajes {
const position = new MutablePosition(x=9, y=8)

method position() = position

method text() = "Bienvenido a Homero en Springfield, presione espacio para comenzar!"
}

object tiempo {
var timer = 5 * 60
const position = new MutablePosition(x=9, y=9)

method position() = position

method text() = "Tiempo: " + timer

method timer() = timer

method restarSegundo(){
timer -= 1
}
}

object mensajeVictoria{
const position = new MutablePosition(x=9, y=8)

method position() = position

method text() = "Ganaste!"
}

object mensajeDerrota{
const position = new MutablePosition(x=9, y=8)

method position() = position

method text() = "Perdiste!"
}

0 comments on commit ec6efec

Please sign in to comment.