Skip to content

Commit

Permalink
Mutable Position a los ataques de Gokú
Browse files Browse the repository at this point in the history
  • Loading branch information
LucianoSantinoValenzuelaMaltas committed Nov 7, 2024
1 parent 17c841d commit 0547fdf
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 13 deletions.
1 change: 1 addition & 0 deletions enemigos.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import menus.*

class Enemigo1{
var property position = game.at(4,16)
//const position = new MutablePosition()
var lado = 0
var property vida
method image() = "cell1.png"
Expand Down
40 changes: 27 additions & 13 deletions jugador.wlk
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ object datosJugador {
}

object gokuAtacando {
var property position = null
//var property position = null
const property position = new PosicionVariable()
var property lado = null
method image() = lado

Expand All @@ -68,10 +69,27 @@ object gokuAtacando {

}

class PosicionVariable inherits MutablePosition{
method x(pos){
x = pos
}
method y(pos){
y = pos
}
method sumarPos(posX, posY){
x = x + posX
y = y + posY
}
method establecerPos(posX, posY){
x = posX
y = posY
}
}

class KamehamehaDerecha{
var personaje = null
var property impacto = 0
var property position = null
const property position = new PosicionVariable(x = 1, y = 1)
const property sonido = game.sound("Kamehameha.mp3")

method efectoSonoro() {
Expand All @@ -88,8 +106,8 @@ class KamehamehaDerecha{

method energia(posicion, lado, valor){
gokuAtacando.lado(lado)
gokuAtacando.position(posicion)
self.position(game.at(posicion.x() + valor, posicion.y()))
gokuAtacando.position().establecerPos(posicion.x(), posicion.y())
position.establecerPos(posicion.x() + valor, posicion.y())
if(!escenario.mismaPosicion(self.position())){
self.efectoSonoro()
game.addVisual(gokuAtacando)
Expand All @@ -100,11 +118,11 @@ class KamehamehaDerecha{
}
}

method lugarValido() = escenario.mismaPosicion(self.position())
method lugarValido() = escenario.mismaPosicion(game.at(position.x(), position.y()))

method avanzar(){
if(!escenario.mismaPosicion(game.at(self.position().x() + 1, self.position().y())) && self.position().x() + 1 < game.width() - 1 && impacto < 1 && sincronizadorDePantallas.pantallaActual() != "perdedor"){
self.position(game.at(self.position().x() + 1, self.position().y()))
if(!escenario.mismaPosicion(game.at(position.x() + 1, position.y())) && position.x() + 1 < game.width() - 1 && impacto < 1 && sincronizadorDePantallas.pantallaActual() != "perdedor"){
position.goRight(1)
game.schedule(500, {self.avanzar()})
}
else{
Expand All @@ -117,11 +135,9 @@ class KamehamehaDerecha{
self.eliminate()
gokuAtacando.eliminate()
if(sincronizadorDePantallas.pantallaActual() == "perdedor"){
//jugador.eliminate()
new MenuPerdiste().cargar()
}
if(sincronizadorDePantallas.pantallaActual() == "ganador"){
//jugador.eliminate()
new MenuGanaste().cargar()
}
}
Expand All @@ -137,8 +153,8 @@ class KamehamehaIzquierda inherits KamehamehaDerecha{
override method image() = "kamehameha_Izquierda.png"

override method avanzar(){
if(!escenario.mismaPosicion(game.at(self.position().x() - 1, self.position().y())) && self.position().x() - 1 > 0 && impacto < 1 && sincronizadorDePantallas.pantallaActual() != "perdedor"){
self.position(game.at(self.position().x() - 1, self.position().y()))
if(!escenario.mismaPosicion(game.at(position.x() - 1, position.y())) && position.x() - 1 > 0 && impacto < 1 && sincronizadorDePantallas.pantallaActual() != "perdedor"){
position.goLeft(1)
game.schedule(500, {self.avanzar()})
}
else{
Expand All @@ -151,11 +167,9 @@ class KamehamehaIzquierda inherits KamehamehaDerecha{
self.eliminate()
gokuAtacando.eliminate()
if(sincronizadorDePantallas.pantallaActual() == "perdedor"){
//jugador.eliminate()
new MenuPerdiste().cargar()
}
if(sincronizadorDePantallas.pantallaActual() == "ganador"){
//jugador.eliminate()
new MenuGanaste().cargar()
}
}
Expand Down
39 changes: 39 additions & 0 deletions movimiento.wlk
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import muros.*

import jugador.*



/*
class FiguraConMovimiento{
Expand All @@ -15,6 +18,42 @@ class FiguraConMovimiento{
position = game.at(posicion.x(), posicion.y())
}
}
}
*/
/*
mixin Limites{
var position
method position() = position
method equisCorrecta(equis) = equis >= 1 && equis <= (game.width()-2)
method yeCorrecta(ye) = ye >= 1 && ye <= (game.height()-2)
}
mixin Movimiento inherits Limites{
method position(posicion){
if(self.equisCorrecta(posicion.x()) && self.yeCorrecta(posicion.y()) && !escenario.mismaPosicion(posicion)){
self.position().establecerPos(posicion.x(), posicion.y())
}
}
}
class FiguraConMovimiento inherits Movimiento{}*/
/*
class FiguraConMovimiento inherits MutablePosition{
method equisCorrecta(equis) = equis >= 1 && equis <= (game.width()-2)
method yeCorrecta(ye) = ye >= 1 && ye <= (game.height()-2)
method position(posicion){
if(self.equisCorrecta(posicion.x()) && self.yeCorrecta(posicion.y()) && !escenario.mismaPosicion(posicion)){
//self.position().establecerPos(posicion.x(), posicion.y())
x = posicion.x()
y = posicion.y()
}
}
}*/

mixin Limites{
Expand Down

0 comments on commit 0547fdf

Please sign in to comment.