Aprender C++ te lleva a la luna y te ayuda a comprender de manera mas eficiente la lógica de programación,
Introducción a C++
Todo lo que aprenderás sobre C++
¿Qué es programar y por qué aprender C++?
Conceptos Generales de C++
La Historia de C++ y sus diferencias con C
Preparando el entorno de trabajo
Instalando Codeblocks
Pasos para instalar en mac
Ejecutando nuestro primer programa
¿Qué son las librerÃas STD? - Portada del Proyecto
Manejo de memoria
¿Qué es la memoria y tipos de datos?
Alojando variables en memoria
¿Cómo usar operadores?
¿Qué son los apuntadores?
Reto: Escribir un programa que calcule áreas.
Entrada de datos y funciones
¿Cómo introducir datos a nuestro programa?
¿Cómo usar condicionales?
Usando condicionales
¿Cómo encapsular código en funciones ?
¿Qué son los parámetros y como usarlos?
Reto: Juego narrativo implementando condicionales y entrada de datos.
Loops y arreglos
¿Qué son los arreglos?
¿Qué son los Loops?
Programando Loops
Loops , arreglos y arreglos bidimensionales
Dibujando el mapa de nuestro juego con arreglos
Manipulando mi jugador con inputs en arreglos unidimensionales
Arreglos bidimensionales
Reto: Moviendo a mi personaje en mi arreglo bidimensional
Lectura de Archivos
Creando y leyendo un archivo externo
Leyendo archivos externos
Reto: En el mapa, crear punto de inicio y salida del jugador
Programación Orientada a Objetos
¿Qué es POO?
Definiendo una clase y creando sus instancias
Encapsulación
Abstracción
Herencia
Propiedades de clase en herencia
Polimorfismo
Finalizando nuestro proyecto
Creación de personaje y archivo de encabezado
Moviendo mi personaje con entrada de datos
Mapa
Interacción entre el personaje y el mapa
Paredes
Optimizando trazado de mapa
Colisiones
Creando nuestra portada de juego
Tesoro y victoria
Conclusiones
Proyecto final
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Vamos a crear un ciclo while
que se ejecuta siempre que la variable isGameOver
sea falsa; cuando sea verdadera significa que el jugador ha perdido el juego y debe volver a empezar.
Este ciclo llamará una y otra vez al método CallInput
de nuestra clase Player
para preguntarle al jugador hacia dónde quiere moverse:
// main.cpp
int main()
{
bool isGameOver = false;
Player Hero;
while(isGameOver == false)
{
Hero.CallInput();
}
}
Además, vamos a usar el condicional switch
para cambiar la ubicación de nuestro jugador en las coordenadas X
y Y
con la información que nos llega desde la variable UserInput
.
// Player.cpp
void Player::CallInput()
{
char UserInput = ' ';
cin << UserInput;
switch(UserInput)
{
case 'w':
y = y + 1;
cout << ""El jugador se mueve arriba"" << endl;
break;
case 's':
y = y - 1;
cout << ""El jugador se mueve abajo"" << endl;
break;
case 'd':
x = x + 1;
cout << ""El jugador se mueve a la derecha"" << endl;
break;
case 'a':
x = x - 1;
cout << ""El jugador se mueve a la izquierda"" << endl;
break;
}
}
Aportes 14
Preguntas 4
Aprender C++ te lleva a la luna y te ayuda a comprender de manera mas eficiente la lógica de programación,
Para aquellos que trabajen desde terminal en linux pueden compilar con g++ y ejecutar.
el primero para compilar los archivos fuente y la segunda linea para linkearlos.
g++ -c Player.cpp main.cpp
g++ -o main.exe Player.o main.o
finalmete el ejectubale
./main.exe
También se puede usar (y += 1) que equivale a (y = y + 1) y en resta (x -= 1) = (x = x + 1)
Excelente
Les comparto mi código hasta el momento:
#include <iostream>
#include "Player.h"
using namespace std;
Player::Player()
{
x=1;
y=1;
}
void Player::callInput()
{
char userInput;
cin>>userInput;
switch(userInput)
{
case 'w':
y+=1;
cout<<"The player go up"<<endl;
break;
case 'a':
x-=1;
cout<<"The player go left"<<endl;
break;
case 's':
y-=1;
cout<<"The player go down"<<endl;
break;
case 'd':
x+=1;
cout<<"The player go right"<<endl;
break;
}
cout<<"My player is in: "<<x<<","<<y<<endl;
}
Hecho!!!
// Main
using namespace std;
int main()
{
bool isGameOver = false;
Player Hero;
cout<< "Inicia el juego"<< endl;
while (isGameOver== false)
{
Hero.CallInput();
}
}```
// Player.cpp
Player::Player()
{
x=1;
y=1;
}
void Player::CallInput()
{
char UserInput = ' ';
cin >> UserInput;
switch (UserInput)
{
case 'w':
y=y+1;
cout << "El jugador se mueve arriba" << endl;
break;
case 's':
y=y-1;
cout << "El jugador se mueve abajo" << endl;
break;
case 'd':
x=x+1;
cout << "El jugador se mueve derecha" << endl;
break;
case 'a':
x=x-1;
cout << "El jugador se mueve izquierda" << endl;
break;
}
cout << "La coordenada del jugador es: " << x << "," << y <<endl;
}
HECHO 😄
#include "player.h"
#include <iostream>
using namespace std;
player::player()
{
x = 1;
y = 1;
}
void player::entrada()
{
char usuariodeentrada = ' ';
cin >> usuariodeentrada;
switch(usuariodeentrada)
{
case 'w':
y = y+1;
cout << "el jugador se mueve arriba" <<endl;
break;
case 's':
y = y-1;
cout << "el jugador se mueve abajo" <<endl;
break;
case 'd':
x=x+1;
cout << "el jugador se mueve a la derecha" <<endl;
break;
case 'a':
x=x-1;
cout << "el jugador se mueve a la izquierda" <<endl;
break;
}
cout << " mi jugador esta hubicado en los puntos:" << x << "," << y <<endl;
}
#include "Player.h"
#include <iostream>
using namespace std;
Player::Player()
{
x = 1;
y = 1;
}
Player::~Player()
{
//dtor
}
void Player::CallInput() {
char userInput = ' ';
cin >> userInput;
switch(userInput) {
case 'w':
y--;
cout << "El jugador se mueve arriba" << endl;
break;
case 's':
y++;
cout << "El jugador se mueve abajo" << endl;
break;
case 'a':
x--;
cout << "El jugador se mueve izq" << endl;
break;
case 'd':
x++;
cout << "El jugador se mueve derecha" << endl;
break;
}
cout << "Mi jugador esta en las cordenadas " << x << ", " << y << endl;
}
se esta poniendo bueno
Esto se pone muy emocionante! es grato poder ver el inicio de un proyecto a base del conocimiento aprendido.
#include "Player.h"
#include <iostream>
using namespace std;
Player::Player()
{
//ctor
x=1;
y=1;
}
void Player::CallInput()
{
char UserInput = 'x';
cin >> UserInput;
switch(UserInput)
{
case 'w':
y = y+1;
cout << "El jugador se mueve arriba" << endl;
break;
case 's':
y = y-1;
cout << "El jugador se mueve abajo" << endl;
break;
case 'd':
x = x+1;
cout << "El jugador se mueve derecha" << endl;
break;
case 'a':
x = x-1;
cout << "El jugador se mueve izquierda" << endl;
break;
}
cout<<"MiJugador esta en las coordenadas X: "<<x<<", Y: "<<y<<endl;
}
Resumen:
<#include "Player.h"
#include <iostream>
using namespace std;
Player::Player()
{
x = 1;
y = 1;
}
void Player::callInput()
{
char userInput = ' ';
cin >> userInput;
switch(userInput)
{
case 'w':
y = y + 1;
cout << "El jugador se mueve arriba" << endl;
break;
case 's':
y = y - 1;
cout << "El jugador se mueve abajo" << endl;
break;
case 'd':
x = x + 1;
cout << "El jugador se mueve a la derecha" << endl;
break;
case 'a':
x = x - 1;
cout << "El jugador se mueve a la izquierda" << endl;
break;
case 'p':
cout << "fin del juego" << endl;
break;
}
cout << "Mi jugador esta en las coordenadas: " << x << ", " << y << endl;
}
Player::~Player()
{
//dtor
}>
Tengo un problema, mi main no lee los componentes que escribo en la fuente (.cpp) solo si los escribo en el encabezado (.h) los ejecuta. La conosla me arroja:
undefined reference to 'player::player()'
undefined reference to ‘player::talk()’
talk es una funcion que ejecuta un cout.
ayuda y gracias jaja
gracias!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.