Controles básicos de movimiento en videojuegos con programación en C++
Clase 38 de 47 • Curso Práctico de C++
Resumen
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;
}
}