Contenido del curso
Primeros Pasos
- 5

¡Hola Mundo!
06:13 min - 6

Anatomía de una variable
09:23 min - 7

Tipos de datos: Mutabilidad e inmutabilidad
10:55 min - 8

Paso por valor
11:06 min - 9

Paso por referencia
07:00 min - 10

Creación de strings
11:33 min - 11

Concatenación de strings
08:31 min - 12

Manipulación de strings
12:13 min - 13

Tipo de dato primitivo: number
09:30 min - 14

Conversión a Booleanos
05:08 min - 15

Tipos de datos primitivos: null, undefined, symbol y bigint
07:28 min - 16

Conversión de tipos: Type Casting y Coercion
04:38 min - 17

Conversión de tipos explícita e implícita
12:20 min - 18

Proyecto: Crea un perfil para redes sociales con JavaScript
07:23 min
Funciones y This
- 19

Anatomía de una función
11:39 min - 20

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?
02:11 min - 21

Funciones vs Métodos
10:01 min - 22

Funciones puras e impuras
11:22 min - 23

Identificador this
11:38 min - 24

Métodos bind, call y apply
10:09 min - 25

Funciones flecha y enlace léxico
10:31 min - 26

Implicaciones de duplicar código
03:19 min - 27

Funciones constructoras
10:41 min - 28

10 Tipos de funciones
01:39 min - 29

Objeto window y modo estricto
07:37 min - 30

Tipos de binding
01:11 min - 31

Expresiones vs Sentencias
04:02 min - 32

Proyecto: Crea biografías de personajes con JavaScript
12:51 min
Lógica y ciclos
- 33

Operadores de comparación
06:12 min - 34

Operadores lógicos
04:33 min - 35

Ejecución condicional: if
07:45 min - 36

Proyecto: Adivina el número
09:36 min - 37

Ejecución condicional: ternario
05:24 min - 38

Ejecución condicional: switch
12:08 min - 39

Loop: for
07:31 min - 40

Loop: forEach
03:57 min - 41

Loop: for of
04:26 min - 42

Loop: for in
07:38 min - 43

Loop: while
03:56 min - 44

Loop: do while
03:13 min - 45

Proyecto: Juego adivina la palabra
Viendo ahora
Fundamentos de arrays y modificación
- 46

Introducción a Arrays
09:09 min - 47

Mutabilidad e inmutabiliad de Arrays
07:56 min - 48

Modificación básica del final con push(), pop()
04:33 min - 49

Ejercicio: Stack de libros
16:03 min - 50

Modificación del principio con shift(), unshift()
10:21 min - 51

Modificación avanzada con splice(), reverse(), sort(), fill()
16:37 min - 52

Proyecto: Juego de cartas
15:37 min - 53

Preguntas a Desarrolladores Senior: Estrategias y métodos de estudio
01:10 min
Iteración de Arrays
- 54

Iteración con map() y forEach()
12:53 min - 55

Filtrado y reducción con filter() y reduce()
11:34 min - 56

Ejercicio: Calificación promedio aprobatoria
05:27 min - 57

Búsqueda de elementos con find() y findIndex()
03:52 min - 58

Ejercicio: Encuentra al ganador de una rifa
11:21 min - 59

Proyecto: Análisis de transacciones
10:55 min - 60

Proyecto: Análisis de transacciones parte 2
08:01 min
Métodos específicos y Operaciones
- 61

Unir y entrelazar con concat(), spread operator y join()
12:05 min - 62

Verificación y evaluación con every() y some()
05:15 min - 63

Métodos de búsqueda con includes(), indexOf() y lastIndexOf()
07:05 min - 64

Ejercicio: Encontrando los índices
11:09 min - 65

Crear copias con slice()
05:28 min - 66

Spread operator: casos de uso
07:11 min
Arrays multidimencionales
Clases y Objetos
- 71

Anatomia de un Objeto
06:48 min - 72

Trabajando con objetos
12:52 min - 73

Función constructora
14:31 min - 74

¿Qué es una clase?
06:17 min - 75

Prototipos y herencias
02:15 min - 76

Herencia en la práctica
15:38 min - 77

Prototipos en la práctica
10:42 min - 78

this en JavaScript
05:36 min - 79

Proyecto: Crea una red social
12:25 min - 80

Proyecto: Crea una red social parte 2
09:00 min
Proyecto: Juego adivina la palabra
Resumen
¿Cómo crear un juego de adivinanza de palabras ocultas?
Desarrollar un juego es una excelente manera de fortalecer tus habilidades de programación, y hoy te presentamos un reto interesante: crear un juego donde el objetivo es adivinar una palabra oculta. Este juego no solo es entretenido, sino también desafiante, ya que el usuario tendrá solo tres intentos para adivinar la palabra. Aquí te mostramos cómo estructurarlo paso a paso.
¿Cuáles son los requerimientos del juego?
Antes de comenzar a construir, es esencial entender los requisitos del juego. Estos te ayudarán a dividir la complejidad y a cumplir cada etapa paso a paso:
- Palabra oculta: El juego debe tener una palabra que solo tú conocerás al inicio.
- Pista: Debes proporcionar una pista sobre la palabra para orientar al usuario.
- Ingreso del usuario: El usuario debe ingresar su respuesta o suposición.
- Verificación: El juego debe verificar si la suposición es correcta.
- Límite de intentos: Solo habrá tres intentos disponibles para el jugador.
- Finalización: El juego termina cuando se adivina la palabra o se agotan los intentos.
¿Cómo implementar el juego?
Ahora que conocemos los requerimientos, pasemos al desarrollo técnico del juego, comenzando por establecer estas funcionalidades en código.
Creación de variables iniciales
El primer paso es definir la palabra oculta y el número de intentos:
let palabraOculta = "JavaScript"; let intentos = 3;
Función de verificación
Crear una función para comparar la suposición del usuario con la palabra oculta ignorando mayúsculas y minúsculas:
function verificarSuposicion(suposicion, palabraOculta) { return suposicion.toLowerCase() === palabraOculta.toLowerCase(); }
Iniciar el juego y gestionar los intentos
Ahora, se necesita una función principal que maneje el inicio del juego y verifique los intentos:
function jugarAdivinaLaPalabra() { alert("Bienvenido a jugar la palabra oculta"); alert("Tienes tres intentos para adivinar la palabra"); alert("La pista es: es un lenguaje de programación"); while (intentos > 0) { let suposicion = prompt("Adivina la palabra:"); if (verificarSuposicion(suposicion, palabraOculta)) { alert("¡Correcto! Has adivinado la palabra."); break; } else { intentos--; if (intentos > 0) { alert(`Incorrecto. Te quedan ${intentos} intentos`); } else { alert(`Has agotado tus intentos. La palabra oculta era ${palabraOculta}`); } } } } jugarAdivinaLaPalabra();
¿Qué lecciones podemos aprender de este ejercicio?
Este juego práctico nos ofrece varias lecciones valiosas:
- Modularidad: Descomponer el problema en pequeñas partes manejables como variables, funciones y bucles es crucial.
- Error Handling: Informar al usuario sobre errores y números de intentos restantes mejora la experiencia de usuario.
- Loop y Condicionales: El uso de
whileyif-elseproporciona un flujo lógico al juego, permitiendo gestionar condiciones complejas de manera efectiva.
Esta experiencia no solo agudiza tus habilidades de programación, sino que te brinda confianza para abordar proyectos más complejos. ¡Sigue experimentando y encuentra nuevas formas de desafiarte a ti mismo!