Skip to content

Commit

Permalink
forma de generar enemigos 2
Browse files Browse the repository at this point in the history
  • Loading branch information
MNVallone committed Oct 9, 2024
1 parent 39f180a commit a7c4d00
Show file tree
Hide file tree
Showing 3 changed files with 201 additions and 141 deletions.
9 changes: 4 additions & 5 deletions generadorDePlantas.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ object generadorDePlantas {


method nombre() = nombrePlanta /*para poder consultar el ultimo nombre usado*/
method sumarPlanta() { /*suma 1 a nombre enemigo para asi crear enemigos nuevos, luego hay que hacer la funcion para que reste 1 cuando maten a un enemigo*/
method sumarPlanta() { /*suma 1 a nombre planta para asi crear plantas nuevos, luego hay que hacer la funcion para que reste 1 cuando maten a un enemigo*/
nombrePlanta+=1
}
method generarPlanta(planta, posicion){/*segun el numero ingresado, se generara un tipo de enemigo distinto*/
Expand All @@ -37,12 +37,11 @@ object generadorDePlantas {

return game.addVisual(nombreParaPlanta)/*muestra al enemigo en el juego*/
}
const property posicionPlanta = game.at(3,3)

method generarPlanta2(plantaSeleccionada,posicion){
self.plantaAGenerar(plantaSeleccionada)
method generarPlanta2(plantaSeleccionada,posicion){ // metodo para no usar los if anidados
self.plantaAGenerar(plantaSeleccionada) //esto para cambiar la planta segun lo que se elija
var nombreParaPlanta = self.nombre()
nombreParaPlanta = self.plantaAGenerar().generarPlanta(posicion)
nombreParaPlanta = self.plantaAGenerar().generarPlanta(posicion) //lama al objeto de la tienda para saber como generar una planta
plantas.add(nombreParaPlanta)
self.sumarPlanta()
return game.addVisual(nombreParaPlanta)
Expand Down
95 changes: 53 additions & 42 deletions menu.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -3,45 +3,56 @@ import plantas.*
import cursor.*

object menu {
const position = new MutablePosition(x=0, y=5)
method position() = position

var property imagen = "marcosRojo.png"
method image() = imagen

method accion(){
keyboard.d().onPressDo({self.moverseDerecha()})
keyboard.a().onPressDo({self.moverseIzquierda()})
keyboard.enter().onPressDo({self.generarPlanta2()})
}
method moverseDerecha() = if (self.position().x()<6) position.goRight(1)
method moverseIzquierda() = if (self.position().x()>0) position.goLeft(1)
method generarPlanta(){
const plantaAGenerar = game.colliders(self) // no usamos uniqueColliders porque tira error si no hay ninguna
const plantaSeleccionada = plantaAGenerar.first().tipo()
const posicion = game.at(cursor.position().x(),cursor.position().y())
generadorDePlantas.generarPlanta(plantaSeleccionada,posicion)
}

method generarPlanta2(){
const plantaAGenerar = game.colliders(self) // no usamos uniqueColliders porque tira error si no hay ninguna
const plantaSeleccionada = plantaAGenerar.first()
const posicion = game.at(cursor.position().x(),cursor.position().y())
generadorDePlantas.generarPlanta2(plantaSeleccionada,posicion)

}

method iniciarTienda(){
//const papaTienda = new Papa(position = game.at(0,5))
game.addVisual(papaTienda)
const guisanteTienda = new Guisante(position = game.at(1,5))
game.addVisual(guisanteTienda)
const girasolTIenda = new Girasol(position = game.at(2,5))
game.addVisual(girasolTIenda)
const cactusTienda = new Cactus(position = game.at(3,5))
game.addVisual(cactusTienda)
const zapalloTienda = new ZapalloEnojado(position = game.at(4,5))
game.addVisual(zapalloTienda)
}
}

const position = new MutablePosition(x = 0, y = 5)
var property imagen = "marcosRojo.png"

method position() = position

method image() = imagen

method accion() {
keyboard.d().onPressDo({ self.moverseDerecha() })
keyboard.a().onPressDo({ self.moverseIzquierda() })
keyboard.enter().onPressDo({ self.generarPlanta2() })
// cambiar aca para cambiar forma de generar enemigos
}

method moverseDerecha() = if (self.position().x() < 6) position.goRight(1)

method moverseIzquierda() = if (self.position().x() > 0) position.goLeft(1)

method generarPlanta() {
const plantaAGenerar = game.colliders(self)
// no usamos uniqueColliders porque tira error si no hay ninguna
const plantaSeleccionada = plantaAGenerar.first().tipo()
const posicion = game.at(cursor.position().x(), cursor.position().y())
generadorDePlantas.generarPlanta(plantaSeleccionada, posicion)
}

method generarPlanta2() {
const plantaAGenerar = game.colliders(self)
// no usamos uniqueColliders porque tira error si no hay ninguna
const plantaSeleccionada = plantaAGenerar.first()
const posicion = game.at(cursor.position().x(), cursor.position().y())
generadorDePlantas.generarPlanta2(plantaSeleccionada, posicion)
}

// Borre las instanciaciones porque las hice objetos en Plantas.wlk
// Para usar la 2da forma de generar plantas
method iniciarTienda() {
// const papaTienda = new Papa(position = game.at(0,5))
game.addVisual(papaTienda)
// const guisanteTienda = new Guisante(position = game.at(1,5))

game.addVisual(guisanteTienda)
//const girasolTIenda = new Girasol(position = game.at(2,5))

game.addVisual(girasolTienda)
// const cactusTienda = new Cactus(position = game.at(3,5))

game.addVisual(cactusTienda)
//const zapalloTienda = new ZapalloEnojado(position = game.at(4,5))

game.addVisual(zapalloEnojadoTienda)
}
}
238 changes: 144 additions & 94 deletions plantas.wlk
Original file line number Diff line number Diff line change
@@ -1,111 +1,161 @@
class Papa{ //nota de nico: es una nuez >:(
const position

const property tipo = "papa"
var property vida=300
method position() = position
var property imagen = "magoPiedra.png"
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"

// No realiza ninguna accion, es un "escudo" asi que deberia tener mucha vida
}

class Guisante{
const position
const property tipo = "guisante"
var property vida=100
method position() = position
var property imagen = "magoFuego.png"
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"

// Dispara proyectiles normales
class Papa {
//nota de nico: es una nuez >:(
const position
const property tipo = "papa"
var property vida = 300
var property imagen = "magoPiedra.png"

method position() = position

method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

class Patapum{
const position
const property tipo = "patapum"
var property vida=1
method position() = position
var property imagen = "magoEnojado.png" //hacer mago musulman
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"

// Cuando colisiona deberia explotar y matar a los zombies que esten colisionando con el

class Guisante {
const position
const property tipo = "guisante"
var property vida = 100
var property imagen = "magoFuego.png"

method position() = position
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

class Cactus{
const position
const property tipo = "cactus"
var property vida=100
method position() = position
var property imagen = "magoHielo.png"
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"

//Dispara proyectiles perforantes (no hacer la mecanica del cactus que sube y baja)
class Patapum {
const position
const property tipo = "patapum"
var property vida = 1
var property imagen = "magoEnojado.png" //hacer mago musulman

method position() = position

method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

class Girasol{
const position
const property tipo = "girasol"
var property vida=100
method position() = position
var property imagen = "magoHealer.png"
method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"
class Cactus {
const position
const property tipo = "cactus"
var property vida = 100
var property imagen = "magoHielo.png"

method position() = position

method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

//Aumenta la generacion de soles x segundo
class Girasol {
const position
const property tipo = "girasol"
var property vida = 100
var property imagen = "magoHealer.png"

method position() = position

method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

class ZapalloEnojado{
const position
const property tipo = "zapallo enojado"
var property vida=1
method position() = position
var property imagen = "magoEnojado.png"
method image() = imagen
class ZapalloEnojado {
const position
const property tipo = "zapallo enojado"
var property vida = 1
var property imagen = "magoEnojado.png"

method position() = position

method image() = imagen

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}

method queSoy() = "planta"
}

method recibeDanio(danio) {
self.vida(self.vida() - danio)
}
method queSoy()="planta"
object papaTienda {
const position = game.at(0, 5)
var property imagen = "magoPiedra.png"

method position() = position

method image() = imagen

method generarPlanta(posicionPlanta) = new Papa(position = posicionPlanta)
}

//OH NO ES EL LANZACOHETES DAVE! HAGAN ALGO CON ESE SUJETO!!! Tranquilos... yo me encargo. Soy el Zapallo Enojado >:)
object guisanteTienda {
const position = game.at(1, 5)
var property imagen = "magoFuego.png"

method position() = position

method image() = imagen

method generarPlanta(posicionPlanta) = new Guisante(position = posicionPlanta)
}

object papaTienda {
const position = game.at(0,5)
method position() = position
var property imagen = "magoPiedra.png"
method image() = imagen
object girasolTienda {
const position = game.at(2, 5)
var property imagen = "magoHealer.png"

method position() = position

method image() = imagen

method generarPlanta(posicionPlanta) = new Girasol(position = posicionPlanta)
}

method generarPlanta(posicionPlanta){
return (new Papa(position = posicionPlanta))
}
object cactusTienda {
const position = game.at(3, 5)
var property imagen = "magoHielo.png"

method position() = position

method image() = imagen

method generarPlanta(posicionPlanta) = new Cactus(position = posicionPlanta)
}

object zapalloEnojadoTienda {
const position = game.at(4, 5)
var property imagen = "magoEnojado.png"

method position() = position

method image() = imagen

method generarPlanta(posicionPlanta) = new ZapalloEnojado(
position = posicionPlanta
)
}

const pepe = new Guisante (position=game.at(0,0))
const pepe = new Guisante(position = game.at(0, 0))

0 comments on commit a7c4d00

Please sign in to comment.