Skip to content

Commit

Permalink
0.4: implementados nuevos sprites, el mapa ahora funciona con 4 enemi…
Browse files Browse the repository at this point in the history
…gos, añadida animacion final de cuando estan en modo escapando, borrada toda la basura que sobraba
  • Loading branch information
martinlacorrona committed Nov 22, 2019
1 parent 0e14ddc commit 2c74f43
Show file tree
Hide file tree
Showing 72 changed files with 131 additions and 94 deletions.
Binary file removed 01propuestaPlataformas.pdf
Binary file not shown.
Binary file removed gimpResources/fondo.xcf
Binary file not shown.
Binary file removed gimpResources/menuImg.xcf
Binary file not shown.
Binary file removed gimpResources/spritesPacman.png
Binary file not shown.
Binary file removed gimpResources/spritesPacmanHUD.png
Binary file not shown.
8 changes: 4 additions & 4 deletions res/0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ _#........B........#_
_#.##.#.#####.#.##.#_
_#....#...#...#....#_
_####.###_#_###.####_
____#.#_______#.#____
____#.#___S___#.#____
_####.#_#####_#.####_
>____.__#___#__.____<
>____._S#___#S_.____<
_####.#_#####_#.####_
____#.#_______#.#____
____#.#___S___#.#____
_####.#_#####_#.####_
_#........#........#_
_#.##.###.#.###.##.#_
_#+.#.....*.....#.+#_
_##.#.#.#####.#.#.##_
_#....#...#...#....#_
_#.######.#.######.#_
_#........S........#_
_#.................#_
_###################_
_____________________
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
9 changes: 0 additions & 9 deletions resOld/0.txt

This file was deleted.

9 changes: 0 additions & 9 deletions resOld/1.txt

This file was deleted.

9 changes: 0 additions & 9 deletions resOld/2.txt

This file was deleted.

9 changes: 0 additions & 9 deletions resOld/3.txt

This file was deleted.

Binary file removed resOld/asteroide.png
Binary file not shown.
Binary file removed resOld/bloque_fondo_muro.png
Binary file not shown.
Binary file removed resOld/bloque_metal.png
Binary file not shown.
Binary file removed resOld/bloque_tierra.png
Binary file not shown.
Binary file removed resOld/boton_pausa.png
Binary file not shown.
Binary file removed resOld/copa.png
Binary file not shown.
Binary file removed resOld/corazon.png
Binary file not shown.
Binary file removed resOld/disparo_enemigo.png
Binary file not shown.
Binary file removed resOld/disparo_jugador.png
Binary file not shown.
Binary file removed resOld/efecto_disparo.mp3
Binary file not shown.
Binary file removed resOld/efecto_explosion.mp3
Binary file not shown.
Binary file removed resOld/enemigo.png
Binary file not shown.
Binary file removed resOld/enemigo_morir.png
Binary file not shown.
Binary file removed resOld/enemigo_movimiento - copia.png
Binary file not shown.
Binary file removed resOld/enemigo_movimiento.png
Binary file not shown.
Binary file removed resOld/enemigodisparador.png
Diff not rendered.
Binary file removed resOld/enemigodisparador_animacion.png
Diff not rendered.
Binary file removed resOld/enemigodisparador_muriendo.png
Diff not rendered.
Binary file removed resOld/enemigosaltador.png
Diff not rendered.
Binary file removed resOld/enemigosaltador_movimiento.png
Diff not rendered.
Binary file removed resOld/enemigosaltador_muriendo.png
Diff not rendered.
Binary file removed resOld/fondo.png
Diff not rendered.
Binary file removed resOld/fondo_2.png
Diff not rendered.
Binary file removed resOld/generador.png
Diff not rendered.
Binary file removed resOld/icono_recolectable.png
Diff not rendered.
Binary file removed resOld/icono_vidas.png
Diff not rendered.
Binary file removed resOld/jugador.png
Diff not rendered.
Binary file removed resOld/jugador_corriendo_derecha.png
Diff not rendered.
Binary file removed resOld/jugador_corriendo_izquierda.png
Diff not rendered.
Binary file removed resOld/jugador_disparando_derecha.png
Diff not rendered.
Binary file removed resOld/jugador_disparando_izquierda.png
Diff not rendered.
Binary file removed resOld/jugador_idle_derecha.png
Diff not rendered.
Binary file removed resOld/jugador_idle_izquierda.png
Diff not rendered.
Binary file removed resOld/jugador_impactado_derecha.png
Diff not rendered.
Binary file removed resOld/jugador_impactado_izquierda.png
Diff not rendered.
Binary file removed resOld/jugador_saltando_derecha.png
Diff not rendered.
Binary file removed resOld/jugador_saltando_izquierda.png
Diff not rendered.
Binary file removed resOld/mensaje_como_jugar.png
Diff not rendered.
Binary file removed resOld/mensaje_ganar.png
Diff not rendered.
Binary file removed resOld/mensaje_perder.png
Diff not rendered.
Binary file removed resOld/menu_fondo.png
Diff not rendered.
Binary file removed resOld/moneda.png
Diff not rendered.
Binary file removed resOld/musica_ambiente.mp3
Binary file not shown.
Binary file removed resOld/planeta_1.png
Diff not rendered.
Binary file removed resOld/planeta_2.png
Diff not rendered.
Binary file removed resOld/recolectable.png
Diff not rendered.
21 changes: 21 additions & 0 deletions src/Globales.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ estados.muerto = 5;
estados.disparando = 6;
estados.impactado = 7;
estados.escapando = 8;
estados.escapandoFinal = 9;

var orientaciones = {};
orientaciones.derecha = 0;
Expand All @@ -32,3 +33,23 @@ factorFotogramas = 3;
var estadosJuego = {};
estadosJuego.normal = 2;
estadosJuego.enemigosEscapando = 3;

var coloresEnemigos = {};
coloresEnemigos.verde = 2;
coloresEnemigos.rojo = 3;
coloresEnemigos.azul = 4;
coloresEnemigos.amarillo = 5;

var arrayColoresEnemigos =
[coloresEnemigos.verde, coloresEnemigos.rojo, coloresEnemigos.azul, coloresEnemigos.amarillo];

var colorEnemigo = Math.floor(Math.random(4));
function getNextColorEnemigo() {
colorEnemigo++;
if(colorEnemigo === 4)
colorEnemigo = 0;

return arrayColoresEnemigos[colorEnemigo];
}


88 changes: 44 additions & 44 deletions src/Res.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,68 @@ var cache = [];

// Lista re recursos a precargar
var imagenes = {
/** JUGADOR **/
jugador : "res/pacman.png",
jugador_arriba : "res/pacman-arriba.png",
jugador_abajo : "res/pacman-abajo.png",
jugador_derecha : "res/pacman-derecha.png",
jugador_izquierda : "res/pacman-izquierda.png",
jugador_muriendose : "res/pacman-muriendose.png",
disparo_jugador : "res/disparo_jugador.png",

/** BLOQUES e ICONOS**/
bloque_basico : "res/bloque-basico.png",
bloque_vacio : "res/bloque-vacio.png",
fondo : "res/fondo.png",
icono_recolectable : "res/pacdot.png",
icono_recolectable_grande : "res/pacdot-big.png",
icono_recolectable_bala : "res/bala.png",
menu_fondo : "res/menuImg.png",
enemigo_basico_abajo: "res/enemigo-basico-abajo.png",
enemigo_basico_arriba: "res/enemigo-basico-arriba.png",
enemigo_basico_derecha: "res/enemigo-basico-derecha.png",
enemigo_basico_izquierda: "res/enemigo-basico-izquierda.png",
icono_recolectable_vida : "res/vida.png",

/** ENEMIGOS **/
enemigo_basico_abajo_rojo: "res/enemigo-basico-abajo-rojo.png",
enemigo_basico_arriba_rojo: "res/enemigo-basico-arriba-rojo.png",
enemigo_basico_derecha_rojo: "res/enemigo-basico-derecha-rojo.png",
enemigo_basico_izquierda_rojo: "res/enemigo-basico-izquierda-rojo.png",
enemigo_basico_abajo_verde: "res/enemigo-basico-abajo-verde.png",
enemigo_basico_arriba_verde: "res/enemigo-basico-arriba-verde.png",
enemigo_basico_derecha_verde: "res/enemigo-basico-derecha-verde.png",
enemigo_basico_izquierda_verde: "res/enemigo-basico-izquierda-verde.png",
enemigo_basico_abajo_azul: "res/enemigo-basico-abajo-azul.png",
enemigo_basico_arriba_azul: "res/enemigo-basico-arriba-azul.png",
enemigo_basico_derecha_azul: "res/enemigo-basico-derecha-azul.png",
enemigo_basico_izquierda_azul: "res/enemigo-basico-izquierda-azul.png",
enemigo_basico_abajo_amarillo: "res/enemigo-basico-abajo-amarillo.png",
enemigo_basico_arriba_amarillo: "res/enemigo-basico-arriba-amarillo.png",
enemigo_basico_derecha_amarillo: "res/enemigo-basico-derecha-amarillo.png",
enemigo_basico_izquierda_amarillo: "res/enemigo-basico-izquierda-amarillo.png",
enemigo_basico_escapando: "res/enemigo-basico-escapando.png",

enemigo_boss_abajo_rojo: "res/enemigo-boss-abajo.png",
enemigo_boss_arriba_rojo: "res/enemigo-boss-arriba.png",
enemigo_boss_derecha_rojo: "res/enemigo-boss-derecha.png",
enemigo_boss_izquierda_rojo: "res/enemigo-boss-izquierda.png",

/** PUNTOS **/
puntos_1: "res/1pt.png",
puntos_10: "res/10pts.png",
puntos_100: "res/100pts.png",
puntos_200: "res/200pts.png",
puntos_400: "res/400pts.png",


enemigo : "resOld/enemigo.png",
enemigo_movimiento : "resOld/enemigo_movimiento.png",
disparo_jugador : "resOld/disparo_jugador.png",
disparo_jugador2 : "resOld/disparo_jugador2.png",
disparo_enemigo : "resOld/disparo_enemigo.png",
icono_puntos : "resOld/icono_puntos.png",
icono_vidas : "resOld/icono_vidas.png",
animacion_recolectable : "resOld/recolectable.png",
fondo_2 : "resOld/fondo_2.png",
jugador_idle_derecha : "resOld/jugador_idle_derecha.png",
jugador_idle_izquierda : "resOld/jugador_idle_izquierda.png",
jugador_corriendo_derecha : "resOld/jugador_corriendo_derecha.png",
jugador_corriendo_izquierda : "resOld/jugador_corriendo_izquierda.png",
jugador_disparando_derecha : "resOld/jugador_disparando_derecha.png",
jugador_disparando_izquierda : "resOld/jugador_disparando_izquierda.png",
jugador_saltando_derecha : "resOld/jugador_saltando_derecha.png",
jugador_saltando_izquierda : "resOld/jugador_saltando_izquierda.png",
enemigo_morir : "resOld/enemigo_morir.png",
bloque_tierra : "resOld/bloque_tierra.png",
bloque_metal : "resOld/bloque_metal.png",
bloque_fondo_muro : "resOld/bloque_fondo_muro.png",
copa : "resOld/copa.png",
pad :"resOld/pad.png",
boton_disparo : "resOld/boton_disparo.png",
boton_salto : "resOld/boton_salto.png",
boton_pausa : "resOld/boton_pausa.png",
boton_jugar : "resOld/boton_jugar.png",
mensaje_como_jugar : "resOld/mensaje_como_jugar.png",
mensaje_ganar : "resOld/mensaje_ganar.png",
mensaje_perder : "resOld/mensaje_perder.png",
enemigo_disparador: "resOld/enemigodisparador.png",
enemigo_disparador_muriendo: "resOld/enemigodisparador_muriendo.png",
enemigo_disparador_animacion: "resOld/enemigodisparador_animacion.png",
enemigo_saltador: "resOld/enemigosaltador.png",
enemigo_saltador_muriendo: "resOld/enemigosaltador_muriendo.png",
enemigo_saltador_animacion: "resOld/enemigosaltador_movimiento.png",
enemigo_generador: "resOld/generador.png",
/** GUI **/
icono_vidas : "res/vida.png",
icono_puntos : "res/icono_puntos.png",
menu_fondo : "res/menuImg.png",
mensaje_como_jugar : "res/mensaje_como_jugar.png",
mensaje_ganar : "res/mensaje_ganar.png",
mensaje_perder : "res/mensaje_perder.png",
boton_jugar : "res/boton_jugar.png",
boton_pausa : "res/boton_pausa.png",
boton_disparo : "res/boton_disparo.png",
boton_salto : "res/boton_salto.png",
boton_jugar : "res/boton_jugar.png",
pad :"res/pad.png",
fondo : "res/fondo.png",
};

var rutasImagenes = Object.values(imagenes);
Expand Down
7 changes: 5 additions & 2 deletions src/layers/GameLayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ class GameLayer extends Layer {

this.controladorJuego.actualizar();

if(this.controladorJuego.isEnableModoEscapandoFinal()) {
this.enemigos.forEach((item) => item.cambiarEstado(estados.escapandoFinal));
}

if(this.controladorJuego.estadoJuego !== this.ultimoEstadoJuego &&
this.controladorJuego.estadoJuego === estadosJuego.normal) {
this.enemigos.forEach((item) => item.cambiarEstado(estados.moviendo));
Expand Down Expand Up @@ -440,8 +444,7 @@ class GameLayer extends Layer {
}

comerSemillaGrande(x, y) {
this.enemigos.forEach((item) => item.cambiarEstado(estados.escapando));
this.controladorJuego.activarModoEscapando(1000);
this.controladorJuego.activarModoEscapando(1000, this.enemigos);
this.ultimoEstadoJuego = estadosJuego.enemigosEscapando;
this.puntosImagenes.push(
new PuntosImagen(x, y, imagenes.puntos_10, 100));
Expand Down
20 changes: 19 additions & 1 deletion src/modelos/ControladorJuego.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ class ControladorJuego {
this.estadoJuego = estadosJuego.normal;

this.tiempoActivadoModoEscapando = 0;

this.activarModoFinal = false;

this.time = 0;
}

reiniciarNivel() {
Expand All @@ -25,9 +29,23 @@ class ControladorJuego {
}
}

activarModoEscapando(time) {
activarModoEscapando(time, enemigos) {
this.time = time;
this.tiempoActivadoModoEscapando = time;
this.estadoJuego = estadosJuego.enemigosEscapando;

enemigos.forEach((item) => item.cambiarEstado(estados.escapando));
this.activarModoFinal = true;
console.log("acivado modo escapando");
}

isEnableModoEscapandoFinal() {
if(this.activarModoFinal && this.time / 3 > this.tiempoActivadoModoEscapando) {
this.activarModoFinal = false;
console.log("activado modo escapando final")
return true;
}
return false;
}


Expand Down
2 changes: 1 addition & 1 deletion src/modelos/DisparoJugador.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class DisparoJugador extends Disparo {

constructor(x, y) {
super(x, y, imagenes.disparo_jugador2)
super(x, y, imagenes.disparo_jugador);
this.vx = 9 / factorFotogramas;
this.vy = 0;

Expand Down
43 changes: 37 additions & 6 deletions src/modelos/EnemigoBasico.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class EnemigoBasico extends Enemigo {

constructor(x, y) {
super(x, y, imagenes.enemigo);
super(x, y, imagenes.enemigo_basico_abajo_amarillo);
this.estado = estados.moviendo;

this.velocidad = 0.5;
Expand All @@ -13,17 +13,46 @@ class EnemigoBasico extends Enemigo {
this.ultimaOrientacion = this.orientacion;
this.ultimaOrientacionContrario = this.getOrientacionContraria(this.ultimaOrientacion);

this.aIdleDerecha = new Animacion(imagenes.enemigo_basico_derecha,
var animacionDerecha, animacionIzquierda, animacionArriba, animacionAbajo;

switch (getNextColorEnemigo()) {
case coloresEnemigos.amarillo:
animacionDerecha = imagenes.enemigo_basico_derecha_amarillo;
animacionIzquierda = imagenes.enemigo_basico_izquierda_amarillo;
animacionArriba = imagenes.enemigo_basico_arriba_amarillo;
animacionAbajo = imagenes.enemigo_basico_abajo_amarillo;
break;
case coloresEnemigos.verde:
animacionDerecha = imagenes.enemigo_basico_derecha_verde;
animacionIzquierda = imagenes.enemigo_basico_izquierda_verde;
animacionArriba = imagenes.enemigo_basico_arriba_verde;
animacionAbajo = imagenes.enemigo_basico_abajo_verde;
break;
case coloresEnemigos.rojo:
animacionDerecha = imagenes.enemigo_basico_derecha_rojo;
animacionIzquierda = imagenes.enemigo_basico_izquierda_rojo;
animacionArriba = imagenes.enemigo_basico_arriba_rojo;
animacionAbajo = imagenes.enemigo_basico_abajo_rojo;
break;
case coloresEnemigos.azul:
animacionDerecha = imagenes.enemigo_basico_derecha_azul;
animacionIzquierda = imagenes.enemigo_basico_izquierda_azul;
animacionArriba = imagenes.enemigo_basico_arriba_azul;
animacionAbajo = imagenes.enemigo_basico_abajo_azul;
break;
}
this.aIdleDerecha = new Animacion(animacionDerecha,
this.ancho, this.alto, 6*factorFotogramas, 2);
this.aIdleIzquierda = new Animacion(imagenes.enemigo_basico_izquierda,
this.aIdleIzquierda = new Animacion(animacionIzquierda,
this.ancho, this.alto, 6*factorFotogramas, 2);
this.aIdleArriba = new Animacion(imagenes.enemigo_basico_arriba,
this.aIdleArriba = new Animacion(animacionArriba,
this.ancho, this.alto, 6*factorFotogramas, 2);
this.aIdleAbajo = new Animacion(imagenes.enemigo_basico_abajo,
this.aIdleAbajo = new Animacion(animacionAbajo,
this.ancho, this.alto, 6*factorFotogramas, 2);

this.aIdleEscapando = new Animacion(imagenes.enemigo_basico_escapando,
this.ancho, this.alto, 6*factorFotogramas, 4);
this.aIdleEscapandoFinal = new Animacion(imagenes.enemigo_basico_escapando,
this.ancho, this.alto, 2*factorFotogramas, 4);

// Ref a la animación actual
this.updateAnimation();
Expand Down Expand Up @@ -90,6 +119,8 @@ class EnemigoBasico extends Enemigo {
}
} else if(this.estado == estados.escapando) {
this.animacion = this.aIdleEscapando;
} else if(this.estado == estados.escapandoFinal) {
this.animacion = this.aIdleEscapandoFinal;
}
}

Expand Down

0 comments on commit 2c74f43

Please sign in to comment.