En esta ocasión te presentamos un entretenido juego matemático escrito en C++ llamado "Adivina mi número". El juego consiste en adivinar un número elegido al azar entre 0 y 100 en un máximo de 4 intentos. Por cada intento fallido, el programa proporcionará pistas al jugador, indicándole si el número es mayor o menor al número secreto.
Si se sobrepasa el rango permitido (de 0 a 100), el programa solicitará que introduzca un número válido y lo evaluará solo cuando cumpla esta condición.
Chequemos el código:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
    // Semilla aleatoria para generar el número secreto
    srand(time(0));
    int numeroSecreto = rand() % 101; // Genera un número aleatorio entre 0 y 100
    int intentos = 0;
    int intentoUsuario;
    cout << "¡Hola! ¡Bienvenido al juego \"Adivina Mi Número\"!" << endl;
    cout << "He pensado en un número secreto entre 0 y 100, y tu misión es adivinarlo en un máximo de 4 intentos." << endl;
    do {
        intentos++;
        switch (intentos) {
            case 1:
                cout << "Introduce tu primer intento: ";
                break;
            case 2:
                cout << "Introduce tu segundo intento: ";
                break;
            case 3:
                cout << "Introduce tu tercer intento: ";
                break;
            case 4:
                cout << "Introduce tu cuarto intento: ";
                break;
        }
        // Verifica si la entrada está en el rango válido
        while (true) {
            cin >> intentoUsuario;
            if (intentoUsuario >= 0 && intentoUsuario <= 100) {
                break; // Sale del bucle si la entrada es válida
            } else {
                cout << "Número no válido. El rango de operación es de 0 a 100. Por favor, introduce un número válido:";
            }
        }
        if (intentoUsuario < numeroSecreto && intentos < 4) {
            cout << "Mi número es mayor. Intenta de nuevo." << endl;
        } else if (intentoUsuario > numeroSecreto && intentos < 4) {
            cout << "Mi número es menor. Intenta de nuevo." << endl;
        } else if (intentoUsuario != numeroSecreto) {
            cout << "Agotaste tus 4 intentos. Mi número secreto era: " << numeroSecreto << endl;
        } else {
            cout << "¡Felicidades! Adivinaste mi número en " << intentos << " intentos." << endl;
        }
    } while (intentoUsuario != numeroSecreto && intentos < 4);
    return 0;
}El código ha sido probado en Code::Blocks en Windows, por lo que es completamente funcional.
Puedes descargar el código .CPP aquí.
NOTA: Si los acentos o caracteres especiales no se muestran correctamente, puedes checar esta solución: ¿Cómo mostrar acentos y caracteres especiales en programas escritos en C++?