Skip to content

Commit

Permalink
agregando mas cosas
Browse files Browse the repository at this point in the history
  • Loading branch information
franco-lapalma committed Nov 14, 2024
1 parent 4833af5 commit 0d96c8f
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 64 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
56 changes: 23 additions & 33 deletions example.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class ObjetoJuego {
image = newImage
}
}
class Entidades inherits ObjetoJuego{
class EntidadesVivas inherits ObjetoJuego{
var property vida = 0
var rango_X = 4
var rango_Y = 4
Expand All @@ -22,7 +22,7 @@ class Entidades inherits ObjetoJuego{
(otraEntidad.position().y() >= position.y() - rango_Y && otraEntidad.position().y() <= position.y() + rango_Y)
}
}
class Nave inherits Entidades {
class Nave inherits EntidadesVivas {
var property municionesDisponibles = 12

method gastarMunicion(){municionesDisponibles-=1}
Expand Down Expand Up @@ -51,20 +51,16 @@ class Nave inherits Entidades {
}
method ponerEscudo(){
vida=2
image="escudo_activado3.png"
image="escudo_activado.png"

}
method cambiarFondo(fondo){
image = fondo
}

}
class Bala inherits ObjetoJuego(image = "bala.png"){
}

class Meteorito inherits Entidades(image = "meteorito.png",rango_X=5,rango_Y=5) {
class Meteorito inherits EntidadesVivas(image = "meteorito.png",rango_X=5,rango_Y=5) {
var velocidad = 0

method recibirDisparo() {
vida = vida - 1
}
Expand All @@ -76,8 +72,8 @@ class Meteorito inherits Entidades(image = "meteorito.png",rango_X=5,rango_Y=5)



class Nivel {
var nivel = 1
class Nivel inherits ObjetoJuego(image= "fondo.jpg", position=game.at(9, 0)) {
var nivel = 1
var property meteoritosEliminados = 0
var property tiempoRestante = 0
var meteoritosParaEliminacion = 10
Expand All @@ -86,12 +82,12 @@ class Nivel {
var property contadorMunicion = 0
var property contadorEscudo = 0
var property contadorVelocidad = 0

method incrementarNivel() {
nivel += 1
meteoritosEliminados = 0
meteoritosParaEliminacion += 5
velocidadMeteoritos += 1
return nivel
}


Expand All @@ -103,7 +99,7 @@ class Nivel {
contadorVelocidad += 1
if (self.meteoritosRestantes() == 0) {
self.incrementarNivel()
self.cambiarFondo()
image= fondo.cambiarFondo(self.nivelActual())
}
}

Expand All @@ -114,7 +110,7 @@ class Nivel {
method generarMeteoritoVeloz() = nivel >= 4

method iniciar_nave(){
const nave = new Nave(vida=1,position=game.at(30,6),image="nave.png",rango_X=4,rango_Y=4,ajuste_X=3,ajuste_Y=2,municionesDisponibles=balas_disponibles)
const nave = new Nave(vida=1,position=game.at(30,6),image="nave.png",rango_X=3,rango_Y=3,ajuste_X=2,ajuste_Y=1,municionesDisponibles=balas_disponibles)
return nave
}

Expand All @@ -130,27 +126,10 @@ class Nivel {
method aumentarVelocidad(aumento){
velocidadMeteoritos += aumento
}
//FONDO
var position = game.at(9, 0)

method limite_derecho() = 99
method limite_izquierdo() = 9
method limite_arriba() = 80
method limite_abajo() = 0


method position() = position

var property image = "fondo.jpg"

method cambiarFondo() {
if (nivel >= 2 && nivel <= 5) {
self.image("fondo-nivel-" + nivel + ".jpg")
}
}

method crearMeteorito(tipo) {
const x = self.limite_izquierdo().randomUpTo(self.limite_derecho()).truncate(0)
const x = fondo.limite_izquierdo().randomUpTo(fondo.limite_derecho()).truncate(0)
const y = 75
var velocidadExtra = 0
var vida = 1
Expand All @@ -168,7 +147,18 @@ method crearMeteorito(tipo) {


}

object fondo{
var property image ="fondo.jpg"
method limite_derecho() = 99
method limite_izquierdo() = 9
method limite_arriba() = 80
method limite_abajo() = 0
method cambiarFondo(nivel) {
if (nivel >= 2 && nivel <= 5) {
self.image("fondo-nivel-" + nivel + ".jpg")
return self.image()
}else return 1
}}
object sumar_minicion {
var property position = game.at(120, 51)
var property image = "municion_sinMunicion.png"
Expand All @@ -188,7 +178,7 @@ object poner_Escudo{

object reducir_velocidad{
var property position = game.at(120, 8)
var property image = "ralentizacion_desactivada1.png"
var property image = "ralentizacion_desactivada.png"

method cambiarFondo(fondo){
image = fondo
Expand Down
65 changes: 34 additions & 31 deletions mainExample.wpgm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ program meteoricSpace {
game.height(75)
game.width(150)
game.cellSize(25)
game.boardGround("fondofondo6.png")
game.boardGround("hud.png")

var juegoIniciado = false
var pantallaInicio = new ObjetoJuego(position = game.at(0, 0), image = "pantalla de inicio8.png")
Expand Down Expand Up @@ -36,25 +36,25 @@ var pantallaGameOver = new ObjetoJuego(position = game.at(0, 0), image = "pantal

// Movimiento de la nave
keyboard.right().onPressDo({
if(nave.position().x() < nivel.limite_derecho()) {
if(nave.position().x() < fondo.limite_derecho()) {
nave.position(nave.position().right(5))
}
})

keyboard.left().onPressDo({
if(nave.position().x() > nivel.limite_izquierdo()) {
if(nave.position().x() > fondo.limite_izquierdo()) {
nave.position(nave.position().left(5))
}

})

keyboard.up().onPressDo({
if(nave.position().y() < nivel.limite_arriba())
if(nave.position().y() < fondo.limite_arriba())
nave.position(nave.position().up(5))
})

keyboard.down().onPressDo({
if(nave.position().y() > nivel.limite_abajo())
if(nave.position().y() > fondo.limite_abajo())
nave.position(nave.position().down(5))
})

Expand Down Expand Up @@ -83,7 +83,7 @@ var pantallaGameOver = new ObjetoJuego(position = game.at(0, 0), image = "pantal
keyboard.v().onPressDo({
if (nivel.contadorVelocidad() >= 15) {
nivel.reducirVelocidad(5)
reducir_velocidad.cambiarFondo("ralentizacion_desactivada1.png")
reducir_velocidad.cambiarFondo("ralentizacion_desactivada.png")
nivel.contadorVelocidad(0) }
})

Expand Down Expand Up @@ -121,25 +121,28 @@ var pantallaGameOver = new ObjetoJuego(position = game.at(0, 0), image = "pantal
nivel.aumentarVelocidad(2)
}
}
})
//METEORITOS ESPECIALES

game.onTick(2000, "Aparece Meteorito",{


game.onTick(2000, "Aparece Meteorito",{
if(nivel.generarMeteoritoDuro()){
if (meteoritos.size()< nivel.meteoritosRestantes()){
const meteorito = nivel.crearMeteorito("duro")
meteoritos.add(meteorito)
game.addVisual(meteorito)}
}})

game.onTick(3000, "Aparece Meteorito",{
}})
game.onTick(3000, "Aparece Meteorito",{
if(nivel.generarMeteoritoVeloz()){
if (meteoritos.size()< nivel.meteoritosRestantes()){
const meteorito = nivel.crearMeteorito("veloz")
meteoritos.add(meteorito)
game.addVisual(meteorito)}
}}
)
}})



})
//METEORITOS ESPECIALES


// Movimiento de meteoritos
game.onTick(53, "Cae Meteorito", {
Expand All @@ -154,6 +157,22 @@ var pantallaGameOver = new ObjetoJuego(position = game.at(0, 0), image = "pantal
meteoritos.remove(meteorito)
game.removeVisual(meteorito)
})
if (nivel.contadorMunicion() == 5) {
sumar_minicion.cambiarFondo("municion_activa.png")
game.removeVisual(sumar_minicion)
game.addVisual(sumar_minicion)
}
if (nivel.contadorEscudo() == 10) {
poner_Escudo.cambiarFondo("icono_escudo_disponible1.png")
game.removeVisual(poner_Escudo)
game.addVisual(poner_Escudo)
}
if (nivel.contadorVelocidad() == 15) {
reducir_velocidad.cambiarFondo("ralentizacion.png")
game.removeVisual(reducir_velocidad)
game.addVisual(reducir_velocidad)

}
})

game.onTick(13, "Verificar Colisiones", {
Expand All @@ -169,22 +188,6 @@ var pantallaGameOver = new ObjetoJuego(position = game.at(0, 0), image = "pantal
meteoritosABorrar.add(meteorito)
nivel.eliminarMeteorito()}
}
if (nivel.contadorMunicion() == 5) {
sumar_minicion.cambiarFondo("municion_activa1.png")
game.removeVisual(sumar_minicion)
game.addVisual(sumar_minicion)
}
if (nivel.contadorEscudo() == 10) {
poner_Escudo.cambiarFondo("icono_escudo_disponible.png")
game.removeVisual(poner_Escudo)
game.addVisual(poner_Escudo)
}
if (nivel.contadorVelocidad() == 15) {
reducir_velocidad.cambiarFondo("ralentizacion1.png")
game.removeVisual(reducir_velocidad)
game.addVisual(reducir_velocidad)

}
})
})

Expand Down

0 comments on commit 0d96c8f

Please sign in to comment.