- 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
Creación y uso de funciones en programación
Clase 11 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
Hay actividades rutinarias que realizamos siguiendo los mismos pasos una y otra vez. En programación esto se llaman funciones, y es momento de usarlas en nuestro ejercicio de piedra, papel o tijera.
Funciones en JavaScript
Piensa en tu mente como si fuera un programa de computadora. Cepillarte los dientes es una tarea de todos los días. Entonces ¿escribirías de nuevo el código para cepillar tus dientes todos los días?
Pues, no. Lo que harías es guardar los pasos en tu memoria (con una función), y luego invocarlos cada vez que tengas que cepillarte los dientes.
Lo mismo ocurre en la programación. Solo tienes que seguir la regla de oro: Si tienes que copiar el código y pegarlo en otro lado, entonces mejor conviértelo en una función. Así puedes invocarlo tantas veces necesites.
¿Cómo declarar funciones en JavaScript?
Hay varias formas de declarar una función. Pero la más básica de todas consiste en escribir la palabra reservada function, seguida de la función con sus parámetros entre paréntesis, y el bloque de código entre llaves { }.
Ejemplo:
function hacerAlgo( param1 , param2 ) {
let resultado = param1 + param2;
return resultado;
}
hacerAlgo( 3 , 4 ); //Devuelve 7
💡 Cuando ejecutas la función, esta ejecuta todo el código que insertaste dentro de las llaves { } cuando la declaraste. De este modo, puedes ejecutar la función tantas veces como necesites con solo declararla una vez.
💡 Cuando la declaras, puedes indicar parámetros y usarlos dentro del bloque de código. Luego, cuando la ejecutes, esos parámetros se sustituirán con los valores que escribas entre paréntesis al momento de ejecutarla.
💡 También puedes usar la palabra reservada return dentro del bloque de código de la función para que, al ejecutarla, recibas el valor que indiques luego de escribir return (ojo, cuando la función llega a un return, su ejecución se detiene. Los comandos que escribas después de un return no se van a ejecutar).
💡 Ojo, todas las funciones deben empezar por una letra. No pueden iniciar con un número o un símbolo, siempre deben empezar por una letra (y la práctica común es que sea una letra minúscula en el caso de variables y funciones).
¿Cómo usar funciones en JavaScript?
Las funciones, al momento de ejecutarlas, tienen una estructura similar: Un nombre, seguido por sus parámetros entre paréntesis.
💡 Ojo, si la función no usa parámetros, igual necesitas escribir los paréntesis para que tu computadora entienda que tiene que ejecutar la función. Por ejemplo: alert().
función( parámetro1 , parámetro2 )
Luego tienes dos casos de uso:
- Si la función tiene el trabajo de ejecutar procesos en tu programa (ej:
alert()), entonces puedes ejecutarla por si sola en una línea de código (como ves en el ejemplo de arriba). - Si la función, en cambio, tiene el trabajo de usar los parámetros para calcular algo más y devolver un valor con un
return, entonces suele usarse para asignar valores a otra variable.
Por ejemplo:
ganador = mejorEntre( opcion1 , opcion2 );
{height="" width=""}
¿Dónde escribo las funciones?
Es una buena práctica escribir las funciones al inicio del código. Los navegadores suelen ser permisivos cuando creas sitios web, pero la mayoría de los lenguajes de programación son estrictos sobre este punto.
En general, declara tus funciones antes de usarlas 👍
Aplicando funciones al programa de piedra, papel o tijera
Es hora de mejorar la calidad del código usando funciones.
Empecemos por optimizar las alertas que indican la elección del jugador y del computador:
Optimizando las alertas
Si te fijas bien, el algoritmo que nos informa nuestra elección y la del computador son muy parecidos, y podemos reemplazarlo con una función:
//INFORMANDO LA ELECCIÓN DEL JUGADOR
if ( eleccionDelJugador == 1 ) {
alert( "Elegiste 🥌" );
} else if ( eleccionDelJugador == 2 ) {
alert( "Elegiste 📄" )
} else if ( eleccionDelJugador == 3 ) {
alert( "Elegiste ✂️" )
} else {
alert( "Elegiste otra cosa, así no puedes jugar 😣" )
}
//INFORMANDO LA ELECCION DEL COMPUTADOR
if ( eleccionDelComputador == 1 ) {
alert( "La computadora eligió 🥌" );
} else if ( eleccionDelComputador == 2 ) {
alert( "La computadora eligió 📄" )
} else if ( eleccionDelComputador == 3 ) {
alert( "La computadora eligió ✂️" )
} else {
alert( "Cometí un error programando la elección del computador 🙃" )
}
Intenta hacerlo por tu cuenta, luego puedes compararla con la posible solución de abajo.
💡 Ojo, esta igual necesita que la encajes bien con tu código para que el programa siga funcionando. Así que no temas experimentar y hacer ajustes poco a poco para que funcione el juego. Al final te mostraré un ejemplo con el código completo usando funciones 😉
//FUNCIÓN PARA LAS ALERTAS
function alertaDeElecciones( quienElije , eleccion ) {
if ( eleccion == 1 ) {
alert( "El " + quienElije + " eligió 🥌" );
} else if ( eleccion == 2 ) {
alert( "El " + quienElije + " eligió 📄" )
} else if ( eleccion == 3 ) {
alert( "El " + quienElije + " eligió ✂️" )
} else {
alert( "Hubo un error con la elección del " + quienElije + " 🙃" )
}
}
Decidiendo el ganador con una función
En estos momentos puede que no veas la necesidad de convertir esto en una función. Pero piensa por un momento que quieres convertir este juego en algo serio, que en el futuro podrías implementar un modo para dos jugadores, o una versión en línea.
En ese sentido, te conviene convertir la decisión del ganador en una función que puedas ejecutar para cualquiera de los modos de juego que implementes.
💡 Si no es por eso, al menos hazlo a modo de práctica 😅 Intenta hacerlo por tu cuenta, luego compara con la solución de abajo 👍
//FUNCIÓN PARA DECIDIR EL GANADOR
function quienGanaEntre ( eleccionJugador , eleccionOponente ) {
if ( eleccionJugador == eleccionOponente ) {
alert( "¡EMPATE! 🤼" );
} else if ( eleccionJugador == 1 && eleccionOponente == 3 ) {
alert( "¡GANASTE! 🥳" );
} else if ( eleccionJugador == 2 && eleccionOponente == 1 ) {
alert( "¡GANASTE! 🥳" );
} else if ( eleccionJugador == 3 && eleccionOponente == 2 ) {
alert( "¡GANASTE! 🥳" );
} else {
alert( "PERDISTE... 😢" );
}
}
Juego de piedra, papel o tijeras con funciones
Recuerda que, por lo general, hay varias soluciones al mismo problema. Lo que ves abajo es solo una forma de crear este pequeño videojuego.
No te preocupes si tu código aún no se ve así. Lo más importante es que lo intentes por ti mismo y llegues al resultado. Luego el tiempo y la experiencia te ayudarán a escribir código más presentable, o más optimizado 👍
//FUNCIÓN PARA LAS ALERTAS
function alertaDeElecciones( quienElije , eleccion ) {
if ( eleccion == 1 ) {
alert( "El " + quienElije + " eligió 🥌" );
} else if ( eleccion == 2 ) {
alert( "El " + quienElije + " eligió 📄" );
} else if ( eleccion == 3 ) {
alert( "El " + quienElije + " eligió ✂️" );
} else {
alert( "Hubo un error con la elección del " + quienElije + " 🙃" );
}
}
//FUNCIÓN PARA GENERAR NÚMEROS ALEATORIOS
function numeroAleatorio( min , max ) {
return Math.floor( Math.random() * ( max - min + 1 ) + min );
}
//FUNCIÓN PARA DECIDIR EL GANADOR
function quienGanaEntre ( eleccionJugador , eleccionOponente ) {
if ( eleccionJugador == eleccionOponente ) {
alert( "¡EMPATE! 🤼" );
} else if ( eleccionJugador == 1 && eleccionOponente == 3 ) {
alert( "¡GANASTE! 🥳" );
} else if ( eleccionJugador == 2 && eleccionOponente == 1 ) {
alert( "¡GANASTE! 🥳" );
} else if ( eleccionJugador == 3 && eleccionOponente == 2 ) {
alert( "¡GANASTE! 🥳" );
} else {
alert( "PERDISTE... 😢" );
}
}
//ELECCIÓN DEL JUGADOR
let eleccionDelJugador = 0;
eleccionDelJugador = prompt( "Elige: 1 para 🥌, 2 para 📄, 3 para ✂️" );
alertaDeElecciones( "jugador" , eleccionDelJugador );
//ELECCIÓN DEL COMPUTADOR
let eleccionDelComputador = numeroAleatorio( 1 , 3 );
alertaDeElecciones( "computador" , eleccionDelComputador );
//DECIDIENDO EL GANADOR
quienGanaEntre ( eleccionDelJugador , eleccionDelComputador );
Contribución creada por: Jhonkar Sufia (Platzi Contributor).