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

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

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?

o inicia sesi贸n.

Le铆 varios comentarios sobre el tama帽o del c贸digo y que a muchas personas les costo 鈥渓eer鈥 lo que se mostraba. Lo primero que dije fue鈥 鈥渦h鈥 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 鈥淓se es el problema de aprender m煤ltiples lenguajes de programaci贸n鈥 馃ぃ馃ぃ馃ぃ

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

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.

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 鈥淩OW = 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 鈥榗lass GameMap鈥 has no member named 鈥楧raw鈥,

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. 馃槙