- 1

Programación Básica: Fundamentos y Creación de Proyectos en Línea
00:51 - 2

Programación Básica en Google Chrome: Variables y Funciones
08:12 - 3

Creación de una Página Web Básica con HTML
06:40 - 4

Estructura Básica de un Documento HTML
05:15 - 5

Estructura y funcionamiento básico de HTML y JavaScript
07:57 - 6

Instalación y uso básico de Visual Studio Code para programar
06:39 - 7

Declaración y Uso Básico de Variables en JavaScript
03:24 - 8

Programación de Piedra, Papel o Tijera en JavaScript
09:44 - 9

Programación de Piedra, Papel o Tijera en JavaScript
10:02 - 10

Generación de Números Aleatorios con JavaScript
10:32 - 11

Creación y uso de funciones en programación
14:05 - 12

Ciclos y Condiciones en Programación: Piedra, Papel o Tijera
04:11 - 13

Programación de un Juego de Piedra, Papel o Tijera en JavaScript
09:55 - 14

Manejo de Rutas y Archivos en Sistemas Operativos y Desarrollo Web
08:05 - 15

Manipulación del DOM y Eventos en JavaScript para Juegos Web
06:34 Quiz Fundamentos de Programación
Programación de Juegos: Lógica de Ataques y Victorias
Clase 59 de 84 • Curso Gratis de Programación Básica
Contenido del curso
- 16

Maquetación de Páginas Web para Videojuegos en HTML
14:12 - 17

Selección de Mascotas en HTML para Juegos Interactivos
12:53 - 18

Programar eventos de clic en botones HTML con JavaScript
15:23 - 19

Eventos de Carga en JavaScript: Iniciar Juego y Seleccionar Mascota
13:47 - 20

Selección de Mascota en JavaScript: Implementación y Validación
12:40 - 21

Manipulación del DOM con JavaScript para mostrar mascota seleccionada
11:14 - 22

Selección Aleatoria de Mascota Enemiga en JavaScript
12:31 - 23

Eventos de clic y lógica de ataque en JavaScript
12:16 - 24

Ataques Aleatorios para Mascotas Enemigas en JavaScript
08:43 - 25

Creación de Mensajes Dinámicos en Combate HTML y JavaScript
13:07 - 26

Lógica de Combate en JavaScript para Juego Mokepon
14:49 - 27

Operadores Lógicos en Programación: AND, OR y NOT
14:40 - 28

Actualización de Vidas en Juego de Combate con JavaScript
09:27 - 29

Validación de Vidas y Mensajes Finales en Juegos
08:48 - 30

Funcionalidad de Reinicio y Desactivación de Botones en Juego
10:56 - 31

Mostrar y ocultar secciones en HTML con JavaScript
15:12 Quiz Desarrollando un juego con HTML y JavaScript
- 32

Estilos CSS: Selectores, Propiedades y Valores
11:54 - 33

Tipos de Visualización en CSS: Display Block, Inline e Inline Block
06:48 - 34

Alineación de Elementos con Flexbox en CSS
10:56 - 35

Modelo de Caja en CSS: Espaciado y Bordes
10:00 - 36

Diseño y Estilo de Páginas Web con HTML y CSS
17:27 - 37

Estilos CSS para Botones en Juegos: Diseño de Pantallas Interactivas
08:37 - 38

Estilos CSS para Mejorar la Interfaz de un Juego
09:28 - 39

Estilizado de Pantallas de Juego con CSS y Flexbox
11:06 - 40

Separación de mensajes y estilos en JavaScript y HTML
21:10 - 41

CSS Grid: Organiza Elementos en Rejillas Bidimensionales
11:32 - 42

Diseño Responsivo con CSS: Media Queries y Flexbox
11:09 - 43

Pseudoclases en CSS: Mejora la Interacción del Usuario
08:31 Quiz Estilos con CSS
- 44

Optimización de Código JavaScript con Clases y Objetos
06:29 - 45

Optimización de Código JavaScript: Variables y Funciones
18:20 - 46

Clases y Objetos: Fundamentos para Optimizar Juegos
03:47 - 47

Construcción de Clases y Objetos en JavaScript
10:18 - 48

Uso de Arreglos para Almacenar Objetos en JavaScript
06:49 - 49

Agregar ataques a objetos en JavaScript
13:47 - 50

Renderizado Dinámico de Objetos en HTML con JavaScript
16:27 - 51

Solución de errores en variables y elementos HTML en JavaScript
07:22 - 52

Uso de Objetos para Centralizar Información en JavaScript
04:44 - 53

Selección de Mascota Aleatoria en JavaScript
07:07 - 54

Iteración de Arreglos y Manipulación DOM en JavaScript
12:17 - 55

Crear Función "mostrarAtaques" en JavaScript para Juegos
13:06 - 56

Eventos de Clic en Botones con JavaScript
20:45 - 57

Secuencia de Ataques y Validación de Resultados en JavaScript
15:53 - 58

Implementación de lógica de combate en juegos JavaScript
18:41 - 59

Programación de Juegos: Lógica de Ataques y Victorias
12:44 - 60

Optimización y Corrección de Errores en Juegos Web con JavaScript
13:33 Quiz Optimización de código
- 61

Dibujo y manejo de gráficos en Canvas con JavaScript
10:40 - 62

Movimiento de Capipepo en Canvas con HTML y JavaScript
05:54 - 63

Movimiento Continuo de Personajes en Canvas con JavaScript
11:04 - 64

Eventos de Teclado para Controlar Personajes en Juegos
08:23 - 65

Pintar Fondos y Personajes en Canvas HTML
12:03 - 66

Métodos de Clases en JavaScript para Juegos Interactivos
09:16 - 67

Detección de Colisiones en Videojuegos con JavaScript
13:00 - 68

Programación de eventos y colisiones en un juego interactivo
10:40 - 69

Ajuste Responsivo de Mapas en Pantallas con JavaScript
09:04 - 70

Estilos Responsivos en HTML y CSS para Mapas Interactivos
06:59 Quiz Mapa con canvas
- 71

Desarrollo de Juegos Multijugador con Cliente-Servidor y API
08:38 - 72

Instalación de Node.js en Windows para desarrollo backend
05:45 - 73

Uso básico de la terminal de comandos y Node.js
08:59 - 74

Creación de un Servidor Básico con Express.js en Node.js
08:19 - 75

Conceptos Clave de URIs y Verbos HTTP en Node.js
07:07 - 76

Desarrollo de API con Node.js y Comunicación Frontend-Backend
12:47 - 77

Selección de Mokepon y Comunicación JSON en Express.js
25:43 - 78

Implementación de un Endpoint para Coordenadas de Jugadores en Node.js
11:12 - 79

Integración de Coordenadas de Jugadores en Mokepon Multijugador
23:03 - 80

Optimización de Coordenadas en Videojuegos con JavaScript
05:17 - 81

Batalla Final en Mokepon: Implementación de Colisiones y Back-End
13:02 - 82

Implementación de Ataques en Tiempo Real para Videojuego Mokepon
10:42 Quiz Backend: videojuego multijugador
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)