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

Clase 38 de 47Curso 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;
        }
}