Conexión de Jugador y Coordenadas en Mapas de Videojuegos
Clase 40 de 47 • Curso Práctico de C++
Contenido del curso
- 13

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

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

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

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

Funciones en Programación: Creación y Uso Eficiente
08:49 - 18
Creación de aventuras interactivas con C++ y decisiones de usuario
00:24
- 19

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

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

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

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

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

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

Programación de Mapas Bidimensionales en Videojuegos
09:24 - 26
Movimiento de Personajes en Cuatro Direcciones con CIN
00:25
- 30

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

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

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

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

Herencia en Programación Orientada a Objetos: Clases y Constructores
08:23 - 35
Tipos de acceso en la herencia de clases en programación
00:39 - 36

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

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

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

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

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

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

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

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

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

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

Programación Orientada a Objetos en Videojuegos Básicos
00:50 - 47
Creación de Enemigos y Laberintos en C++ Avanzado
01:14
Vamos a crear la función SetPlayerCell dentro de nuestra clase GameMap para dibujar y volver a dibujar el mapa cada vez que el jugador presiona una tecla para cambiar su posición y moverse por el mapa. Vamos a usar apuntadores para cambiar la celda con la posición del jugador por una instancia de la clase PlayerCell con un caracter diferente (por ejemplo, un 3):
// GameMap.h
class GameMap
{
public:
GameMap();
MapCell* PlayerCell;
MapCell cells[15][10];
void Draw();
void SetPlayerCell(int PlayerX, int PlayerY);
}
// GameMap.cpp
GameMap::GameMap()
{
PlayerCell = null;
}
void GameMap::SetPlayerCell(int PlayerX, int PlayerY)
{
PlayerCell = &cells[PlayerY][PlayerX];
PlayerCell->id = 3;
}
Además, vamos a solucionar el error de dejar el rastro de posiciones por las que el jugador pasó en movimientos anteriores. Vamos a volver a dejarlas como celdas o espacios normales con el siguiente código:
if (PlayerCell != NULL) {
PlayerCell->id = 0;
}