Introducción a C++

1

Todo lo que aprenderás sobre C++

2

¿Qué es programar y por qué aprender C++?

Conceptos Generales de C++

3

La Historia de C++ y sus diferencias con C

Preparando el entorno de trabajo

4

Instalando Codeblocks

5

Pasos para instalar en mac

6

Ejecutando nuestro primer programa

7

¿Qué son las librerías STD? - Portada del Proyecto

Manejo de memoria

8

¿Qué es la memoria y tipos de datos?

9

Alojando variables en memoria

10

¿Cómo usar operadores?

11

¿Qué son los apuntadores?

12

Reto: Escribir un programa que calcule áreas.

Entrada de datos y funciones

13

¿Cómo introducir datos a nuestro programa?

14

¿Cómo usar condicionales?

15

Usando condicionales

16

¿Cómo encapsular código en funciones ?

17

¿Qué son los parámetros y como usarlos?

18

Reto: Juego narrativo implementando condicionales y entrada de datos.

Loops y arreglos

19

¿Qué son los arreglos?

20

¿Qué son los Loops?

21

Programando Loops

22

Loops , arreglos y arreglos bidimensionales

23

Dibujando el mapa de nuestro juego con arreglos

24

Manipulando mi jugador con inputs en arreglos unidimensionales

25

Arreglos bidimensionales

26

Reto: Moviendo a mi personaje en mi arreglo bidimensional

Lectura de Archivos

27

Creando y leyendo un archivo externo

28

Leyendo archivos externos

29

Reto: En el mapa, crear punto de inicio y salida del jugador

Programación Orientada a Objetos

30

¿Qué es POO?

31

Definiendo una clase y creando sus instancias

32

Encapsulación

33

Abstracción

34

Herencia

35

Propiedades de clase en herencia

36

Polimorfismo

Finalizando nuestro proyecto

37

Creación de personaje y archivo de encabezado

38

Moviendo mi personaje con entrada de datos

39

Mapa

40

Interacción entre el personaje y el mapa

41

Paredes

42

Optimizando trazado de mapa

43

Colisiones

44

Creando nuestra portada de juego

45

Tesoro y victoria

46

Conclusiones

47

Proyecto final

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Mapa

39/47
Recursos

Vamos a crear una clase que represente las celdas del mapa; cada celda será una instancia de esta clase y esto nos ayudará a guardar propiedades especiales de las celdas (como el id y algunos métodos que vamos a programar más adelante para detectar colisiones y la posición del jugador).

Aportes 21

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Leí varios comentarios sobre el tamaño del código y que a muchas personas les costo “leer” lo que se mostraba. Lo primero que dije fue… “uh… vamos a ver con qué me encuentro :S” pero al final, leí todo igual que siempre, BIEN. No sé qué problemas tuvieron estas personas, pero desde el primero vídeo hasta el último (porque ya terminé el curso), todo el contenido en mi caso, fue totalmente legible. Dejo este comentario para que no empiecen el vídeo con la idea de que no van a poder leerlo como me paso a mi, porque nada que ver.

Buen proyecto, excelente profesor, lastima que no cuidaron el zoom en cada pestaña de codigo, en algunos no se distingue lo que esta programando.

5:50 “Ese es el problema de aprender múltiples lenguajes de programación” 🤣🤣🤣

El 70% del tiempo no le importó el tamaño. No me gusto la clase, se lo hace muy forzado a la vista.

Podrían haberse preocupado en poner zoom durante toda la clase no solo en algunas partes. Es muy dificil seguir la clase asi.

Yo estoy usando VSCode para el proyecto y me salio el problema de referencia a - sin definir entonces la solución.
Resumen: Compilar todos los archivos cpp que tengamos

g++ main.cpp src/gameMap.cpp src/mapCell.cpp -o main.out

Excelente curso 😎

Según entiendo, al declarar un array, ejemplo: int Array [ 2] [ 3], en la primera caja van las filas (x) y en la segunda las columnas (y). No al revés como se indica en el video.

En el minuto 5.47 me da la impresion que lo que el profesor intento explicar fue que se esta creando un arreglo 2D (15 COL X 10 FIL) de tipo MapCell el cual es un objeto y por esa razon el importa la clase (u objeto) MapCell.h hacia GameMap. Si alguien me puede corroborar eso por favor??

Muy buena clase!

Tuve que verme los primeros videos de esta sección nuevamente porque ya se empieza a complicar, pero estoy empezando a entender la naturaleza del asunto. Practicamente los encabezados y los cpp te permiten seccionar mejor las partes del código. Visualmente aceptable.

Los conocimientos de las clases anteriores se empiezan a ver interactuando de manera separada en cada clase, hay que prestar mucha atención para no perderse dentro del proyecto.

hecho

#ifndef GAMEMAP_H
#define GAMEMAP_H
 #include "map cell.h"


class Gamemap
{
    public:
        Gamemap();
         mapcell celdas[15][10]; //15 columnas x 10 filas


         void drawmap();
    protected:

    private:
};

#endif // GAMEMAP_H

estuvo bien pero en mi opinión fue muy rápido, aunque los conceptos ya nos había enseñado. 😄

Dimensiones de arreglo bidimensional: En la primera llave cuadrada se define el tamaño de las columnas luego el tamaño de las filas. Es decir: X == Columnas, Y == Filas.

Como sabemos que las dimensiones de nuestro map seran constantes, podemos trabajar creando constantes, y si queremos cambiar la dimension de nuestro map, solo cambiaremos nuestra constante “ROW = 20 y COL = 15”.

#ifndef GAMEMAP_H
#define GAMEMAP_H
#include "MapCell.h"

class GameMap{
    private:

    protected:

    public:
        const static int ROW = 15;  //Filas 
        const static int COL = 10;   //Columnas
        MapCell cell[ROW][COL];

        GameMap();      
        void draw();

};
#endif

No entendi muy bien por que se crea una clase MapCell y una GameMap. Agradecería la ayuda:)

error ‘class GameMap’ has no member named ‘Draw’,

Y juraría que sí porque he revisado los encabezados y códigos cuidadosamente :S necesito ayuda para entender.

Para aquellos que no puedan ver por la falta de zoom, si usan Windows 10, pueden usar el atajo de teclado: Windows + + y les permite hacer zoom donde esta el puntero.

Dentro del zoom les saldrá una ventana donde pueden regular el porcentaje del zoom.

Y para salir del zoom usen el atajo: Windows + Esc.

Veo muchos comentarios de quejas, me parece excelente el curso y quisiera dar dos recomendaciones para quienes lo estén tomando:

Si no entienden un concepto retrocedan, pausen, vuelva a ver el video o devuélvanse al video donde lo explican y apréndanlo de verdad, esto no es el colegio, no van a reprobar, sáquense eso de la cabeza

Si la clase va muy rápido o muy lento pueden graduar la velocidad en los controles del video y si esta muy pequeña la letra pongan el video a pantalla completa, cambien la resolución, esos no son ni de cerca los problemas que van a ver si quieren trabajar en tech

Muy rápido y más el zoom. 😕