Creación de Enemigos y Laberintos en C++ Avanzado
Clase 47 de 47 • Curso Práctico de C++
Contenido del curso
Conceptos Generales de C++
Preparando el entorno de trabajo
Manejo de memoria
- 8

Memoria y Tipos de Datos en Computadoras y Programación
07:38 min - 9

Variables y tipos de datos en programación básica
06:08 min - 10

Operadores Aritméticos y Lógicos en Programación
06:41 min - 11

Uso de Apuntadores para Manipulación de Memoria en Programación
06:56 min - 12

Cálculo del Área de Círculo y Esfera con Variables
00:32 min
Entrada de datos y funciones
- 13

Entrada y manejo de datos en programas C++
08:49 min - 14

Operadores Relacionales y Condicionales en Programación
10:17 min - 15

Condicionales y estructuras de control en programación
08:37 min - 16

Funciones y Encapsulamiento en Programación
05:44 min - 17

Funciones en Programación: Creación y Uso Eficiente
08:49 min - 18

Creación de aventuras interactivas con C++ y decisiones de usuario
00:24 min
Loops y arreglos
- 19

Arreglos: Conceptos Básicos y Manipulación en Programación
08:09 min - 20

Estructuras de Control: Bucles en Programación
03:47 min - 21

Contadores y Bucles en Programación: While, Do-While y For
10:18 min - 22

Arreglos Unidimensionales y Bidimensionales en Programación
10:40 min - 23

Dibujar Mapas y Personajes en Juegos con Arreglos en C++
08:13 min - 24

Movimiento de Personajes en Juegos con Python
05:38 min - 25

Programación de Mapas Bidimensionales en Videojuegos
09:24 min - 26

Movimiento de Personajes en Cuatro Direcciones con CIN
00:25 min
Lectura de Archivos
Programación Orientada a Objetos
- 30

Programación Orientada a Objetos: Conceptos y Beneficios
03:29 min - 31

Programación Orientada a Objetos: Clases e Instancias en Java
07:53 min - 32

Encapsulación de Datos en Programación Orientada a Objetos
10:59 min - 33

Abstracción en Programación Orientada a Objetos
09:12 min - 34

Herencia en Programación Orientada a Objetos: Clases y Constructores
08:23 min - 35

Tipos de acceso en la herencia de clases en programación
00:39 min - 36

Polimorfismo en C++: Teoría y Práctica
14:36 min
Finalizando nuestro proyecto
- 37

Programación de un Juego de Laberinto en C++
09:22 min - 38

Controles básicos de movimiento en videojuegos con programación en C++
07:18 min - 39

Creación de Clases para Mapas en Juegos de Programación
09:43 min - 40

Conexión de Jugador y Coordenadas en Mapas de Videojuegos
11:04 min - 41

Carga y Lectura de Archivos para Mapas en Juegos
09:10 min - 42

Colisiones y Movimiento en Juegos 2D con C++
09:30 min - 43

Colisiones y restricciones de movimiento en mapas de juegos
09:38 min - 44

Colisiones y Portadas en Videojuegos: Implementación en C++
07:17 min - 45

Creación de Juegos de Aventuras en C++: Laberintos y Cofres del Tesoro
11:16 min - 46

Programación Orientada a Objetos en Videojuegos Básicos
00:50 min - 47

Creación de Enemigos y Laberintos en C++ Avanzado
Viendo ahora
¡Felicidades! Lograste terminar el primer curso de c++, para terminar te invito a que hagas el siguiente ejercicio:
En nuestra clase anterior pusimos una condición de ganar, pero para que el nuestro sea más emocionante tienes que crear enemigos y múltiples pisos de laberinto, ¿Como vas a hacer esto? (Si no quieres spoilers e intentarlo por ti mismo puedes ir ya a hacerlo):
-
Para empezar tenemos que crear una clase base, puede ser llamada Enemy, esta clase tiene que tener su posición en x, y como el jugador.
-
Después de dibujar el jugador tenemos que llamar la función de dibujado de una (O varias) instancias de Enemy, podemos aprovechar el dibujado para llamar una función que tenga un comportamiento llamada Move().
-
Para tener diferentes tipos de movimientos podemos crear nuevas clases derivadas de Enemy ya sean moviéndose en un patrón( izquierda derecha arriba abajo) u otros patrones al azar, para esto se puede usar la función rand.
-
Si en algún momento las coordenadas de un enemigo son las mismas que el jugador tienen que dibujar una pantalla de Game Over y terminar el programa.
-
Ya que tenemos nuestros enemigos tenemos que cambiar un poco el comportamiento de nuestro tesoro, cuando lo tomamos por primera vez en lugar de dibujar la pantalla de laberinto vamos a cambiar nuestro piso actual (almacenando esta información en una variable en gamemap.h) y dibujar el juego con el nuevo mapa.
-
Pueden nombrar sus archivos “LaberintoPiso1.txt”, “LaberintoPiso2.txt” y checar con una condición cual es el piso y cargar el archivo adecuado, (recuerden reiniciar la posición del jugador).
-
Al pasar X número de pisos (Generalmente 3 esta bien) pueden dibujar la pantalla de victoria.