Programación de Juegos: Lógica de Ataques y Victorias

Clase 59 de 84Curso Gratis de Programación Básica

Resumen

Para finalizar el videojuego, solo resta definir la lógica del combate para determinar al ganador a partir de la secuencia de ataques.

Finalización del combate

El ganador del combate se determinará al mejor de 5 ataques o dependiendo qué mokepon le haya quitado más vidas a su rival.

Utilizaremos una serie de variables para almacenar la cantidad de vidas del mokepon del jugador y del enemigo, y otras variables para contar la cantidad de combates ganados por cada participante.

let victoriasJugador = 0; let victoriasEnemigo = 0; let vidasJugador = 3; let vidasEnemigo = 3;

Tómate un rato para analizar la siguiente lógica del combate que implementamos. La misma determina, por cada ataque, si el mokepon del jugador ganó, empató o perdió ese ataque. Dependiendo el resultado, se le suma una victoria al jugador o al enemigo, y se imprime por pantalla el ataque de cada turno.

function combate() { for (let index = 0; index < ataqueJugador.length; index++) { if(ataqueJugador[index] === ataqueEnemigo[index]) { indexAmbosOponente(index, index); crearMensaje("EMPATE"); } else if (ataqueJugador[index] === 'FUEGO' && ataqueEnemigo[index] === 'TIERRA') { indexAmbosOponente(index, index); crearMensaje("GANASTE"); victoriasJugador++; spanVidasJugador.innerHTML = victoriasJugador; } else if (ataqueJugador[index] ==='AGUA' && ataqueEnemigo[index] === 'FUEGO') { indexAmbosOponente(index, index); crearMensaje("GANASTE"); victoriasJugador++; spanVidasJugador.innerHTML = victoriasJugador; } else if (ataqueJugador[index] === 'TIERRA' && ataqueEnemigo[index] === 'AGUA') { indexAmbosOponente(index, index); crearMensaje("GANASTE"); victoriasJugador++; spanVidasJugador.innerHTML = victoriasJugador; } else { indexAmbosOponente(index, index); crearMensaje("PERDISTE"); victoriasEnemigo++; spanVidasEnemigo.innerHTML = victoriasEnemigo; } } revisarVidas(); }

Una vez recorrido cada ataque del combate, mostraremos el mensaje final por pantalla que le indique al jugador si ha ganado, perdido o empatado el combate.

function revisarVidas() { if (victoriasJugador === victoriasEnemigo) { crearMensajeFinal("Esto fue un empate!!!"); } else if (victoriasJugador > victoriasEnemigo) { crearMensajeFinal("FELICITACIONES! Ganaste :)"); } else { crearMensajeFinal('Lo siento, perdiste :('); } }

¡Felicidades! Hasta este punto, has logrado programar toda la lógica del combate de los mokepones y ya puedes jugar con el videojuego todo lo que quieras o incluso implementar modificaciones y tu propia lógica del juego.


Contribución creada por: Kevin Fiorentino (Platzi Contributor)

      Programación de Juegos: Lógica de Ataques y Victorias