Introducción a C++

1

Programación de Videojuegos con C++ desde Cero

2

Programación en C++: Fundamentos y Aplicaciones Prácticas

Conceptos Generales de C++

3

Historia y uso del compilador GCC en programación

Preparando el entorno de trabajo

4

Instalación de Code::Blocks en Windows paso a paso

5

Instalación de CodeBlocks en Mac paso a paso

6

Creación de un Proyecto de Consola en C++ Paso a Paso

7

Uso de Librerías y Entrada/Salida en C++

Manejo de memoria

8

Memoria y Tipos de Datos en Computadoras y Programación

9

Variables y tipos de datos en programación básica

10

Operadores Aritméticos y Lógicos en Programación

11

Uso de Apuntadores para Manipulación de Memoria en Programación

12

Cálculo del Área de Círculo y Esfera con Variables

Entrada de datos y funciones

13

Entrada y manejo de datos en programas C++

14

Operadores Relacionales y Condicionales en Programación

15

Condicionales y estructuras de control en programación

16

Funciones y Encapsulamiento en Programación

17

Funciones en Programación: Creación y Uso Eficiente

18

Creación de aventuras interactivas con C++ y decisiones de usuario

Loops y arreglos

19

Arreglos: Conceptos Básicos y Manipulación en Programación

20

Estructuras de Control: Bucles en Programación

21

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

22

Arreglos Unidimensionales y Bidimensionales en Programación

23

Dibujar Mapas y Personajes en Juegos con Arreglos en C++

24

Movimiento de Personajes en Juegos con Python

25

Programación de Mapas Bidimensionales en Videojuegos

26

Movimiento de Personajes en Cuatro Direcciones con CIN

Lectura de Archivos

27

Lectura y escritura de archivos en C++ con fstream

28

Lectura y Escritura de Archivos en Programación

29

Posicionamiento del Jugador en el Mapa de Juego

Programación Orientada a Objetos

30

Programación Orientada a Objetos: Conceptos y Beneficios

31

Programación Orientada a Objetos: Clases e Instancias en Java

32

Encapsulación de Datos en Programación Orientada a Objetos

33

Abstracción en Programación Orientada a Objetos

34

Herencia en Programación Orientada a Objetos: Clases y Constructores

35

Tipos de acceso en la herencia de clases en programación

36

Polimorfismo en C++: Teoría y Práctica

Finalizando nuestro proyecto

37

Programación de un Juego de Laberinto en C++

38

Controles básicos de movimiento en videojuegos con programación en C++

39

Creación de Clases para Mapas en Juegos de Programación

40

Conexión de Jugador y Coordenadas en Mapas de Videojuegos

41

Carga y Lectura de Archivos para Mapas en Juegos

42

Colisiones y Movimiento en Juegos 2D con C++

43

Colisiones y restricciones de movimiento en mapas de juegos

44

Colisiones y Portadas en Videojuegos: Implementación en C++

45

Creación de Juegos de Aventuras en C++: Laberintos y Cofres del Tesoro

46

Programación Orientada a Objetos en Videojuegos Básicos

47

Creación de Enemigos y Laberintos en C++ Avanzado

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Colisiones y Portadas en Videojuegos: Implementación en C++

44/47
Recursos

Vamos a guardar la imagen de un dragón (con un texto de bienvenida, si quieres) en un nuevo archivo de texto llamado Intro.txt (puedes copiar y pegar el archivo Map.txt) para pausar la ejecución de nuestro juego por un momento y darle la bienvenida al jugador.

Para esto vamos a crear una nueva función llamada DrawMap en la clase GameMap con un código muy parecido a la función LoadMapFromFile pero, en vez de usar un ciclo for para imprimir las celdas de nuestro mapa, vamos a imprimir línea por línea nuestro mensaje de bienvenida con el dragón.

Aportes 14

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para que quede mas limpio el juego pueden sustituir

cin>>line
//por
getchar();

Para que con el enter baste para que continue el codigo, tambien pueden agregar

system("CLS");

Para limpiar la pantalla de la consola luego de dibujar el intro, el final y en la primera linea del ciclo while() para que sea vea un solo mapa.

Esta genial!

Ocupe la funcion tolower() en la entrada del movimiento en caso de que tengas el Bloq May activado igual funciona, yo lo deje asi:

    char userInput = ' ';
    //cin>> userInput;
    userInput = tolower(getchar());
    //userInput = tolower(userInput);

De las 2 maneras funciona

Eri es GENIAL!

cout << " / )" << endl;
cout << " ( |
" << endl;
cout << “/| \ " << endl;
cout << " // \ " << endl;
cout << " /// | " << endl;
cout << " /( \ )/ " << endl;
cout << " \ _ //)” << endl;
cout << " \ :__ ///" << endl;
cout << " \ ) // \ " << endl;
cout << " \: / // |/ " << endl;
cout << " \ / \ // \ " << endl;
cout << " /) \ …-’ (| _| " << endl;
cout << " // / .’ \ \ \ " << endl;
cout << " /| \ _
___ \ | /" << endl;
cout << " (| _ _ / ‘-. ) /.’" << endl;
cout << " \ . '-.
_ / / \ " << endl;
cout << " \’. > --. ‘. \ / / /" << endl;
cout << " \ \ \ \ \ .’ /.’" << endl;
cout << " \ \ ‘._ / \ ) / .’ " << endl;
cout << " \ _ _ | .’_/ __/ " << endl;
cout << " \ \ _ | / / _/ _ " << endl;
cout << " \ \ / _.’ / / \ " << endl;
cout << " \ \ / _.’ / / \ " << endl;
cout << " \ \ .’ .’/ \ " << endl;
cout << " \ \ _ | / / _/ _" << endl;
cout << " \ \ / .’ / / \ " << endl;
cout <<" \ | /.’ / .’ '-,
"<<endl;
cout <<" \ \ .’ .’/ \ “<<endl;
cout <<” /\ /\ ) ( /.’ \ “<<endl;
cout <<” | _// \ (.’ / | |"<<endl;
cout <<" /
__ /–’, __/ /"<<endl; cout <<" (_ ) /b) \ '. : \___.-'_/ \__/ "<<endl; cout <<" /:/: , ) : ( /_.'__/-'|_ _ /"<< endl; cout <<" /:/: __/\ > __,_.----.__\ / (/(/("<<endl; cout <<" (_(,_/V .'/--' _/ __/ | /"<<endl; cout <<" VvvV // _.-’ .’ \ \ " <<endl;
cout <<" n_n// (((/->/ | “<<endl;
cout <<” ‘–’ ~=’ \ |"<<endl;
cout <<" \ |"<<endl;
cout <<" \ |"<<endl;
cout <<" | |
,"<<endl;
cout <<" \ \ /"<<endl;
cout <<" '.
)"<<endl;

Muy cool

Magia negra 😂

hecho !!

void Gamemapa::drawintro()
{

string line; /*esta linea va a estar cargando cada linea de mi archivo,
las strings son uniones o arreglos de caracteres.*/
ifstream  Myfile("intro.txt"); //entrada de flujo de datos

if(Myfile.is_open())

{
while(getline(Myfile,line))
{
    cout << line <<endl;
}
cin>> line; //solo para pausar por un momento el programa
}
else
{
    cout << "la intro no pudo cargarse"<<endl;
}
}```
#include <iostream>
#include "Player.h"
#include "MapCell.h"
#include "GameMap.h"

using namespace std;

int main()
{
    bool gameContinue = true;
    GameMap Map;
    Player hero;

    Map.drawIntro();

    while ( gameContinue ) {
        Map.draw();
        hero.CallInput();

        if ( !Map.setPlayerCell(hero.x, hero.y) ) {
            hero.resetToSafePosition();
        }


    }

    return 0;
}

Esto es lo maximo 😄


Aqui pueden sacar otros pixel art: https://asciiart.website/index.php?art=creatures/dragons

Queda super!

Alguien sabe el por qué al escribir ese código no me muestra la figiura completa en consola?

Excelente.

gracias!