Загрузка данных


#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
    // Настройка русского языка в консоли
    setlocale(LC_ALL, "Russian");
    
    // Инициализация генератора случайных чисел
    srand(time(0));

    int menuChoice = 0;

    // Главное меню через цикл while
    while (true) {
        cout << "\n[ Меню ]\n";
        cout << "1. Начать игру\n";
        cout << "2. Выйти\n";
        cout << "[ > ] Ваш выбор: ";
        cin >> menuChoice;

        if (menuChoice == 2) {
            cout << "Выход из приложения. Программа завершается.\n";
            break;
        } 
        else if (menuChoice == 1) {
            // Генерация 3 уникальных чисел от 1 до 10 с помощью цикла while
            int num1 = rand() % 10 + 1;
            
            int num2 = rand() % 10 + 1;
            while (num2 == num1) {
                num2 = rand() % 10 + 1;
            }

            int num3 = rand() % 10 + 1;
            while (num3 == num1 || num3 == num2) {
                num3 = rand() % 10 + 1;
            }

            // Флаги, чтобы отслеживать, какие из трех чисел уже отгаданы
            bool guessed1 = false;
            bool guessed2 = false;
            bool guessed3 = false;

            int attempts = 5;
            int guessedCount = 0;

            cout << "\n[ Начать игру ]\n";

            // Игровой цикл while
            while (attempts > 0 && guessedCount < 3) {
                cout << "\n[+] Угаданных чисел: [" << guessedCount << " / 3]\n";
                cout << "[+] Попыток: [" << attempts << "]\n\n";

                int userGuess;
                cout << "[ > ] Угадать число: ";
                cin >> userGuess;

                // Проверка: попал ли игрок в одно из чисел и не угадал ли его ранее
                if (userGuess == num1 && !guessed1) {
                    guessed1 = true;
                    guessedCount++;
                    attempts--;
                    cout << "[ Число угадано ]\n";
                    cout << "[+] Вы угадали число!\n";
                } 
                else if (userGuess == num2 && !guessed2) {
                    guessed2 = true;
                    guessedCount++;
                    attempts--;
                    cout << "[ Число угадано ]\n";
                    cout << "[+] Вы угадали число!\n";
                } 
                else if (userGuess == num3 && !guessed3) {
                    guessed3 = true;
                    guessedCount++;
                    attempts--;
                    cout << "[ Число угадано ]\n";
                    cout << "[+] Вы угадали число!\n";
                } 
                else {
                    attempts--;
                    cout << "[ Число не угадано ]\n";
                }
            }

            // Итоги текущей игры
            cout << "\n--------------------------------\n";
            if (guessedCount == 3) {
                cout << "[+] Поздравляем! Вы успешно угадали все 3 числа!\n";
            } else {
                cout << "[-] Попытки закончились. Вы угадали: [" << guessedCount << " / 3]\n";
            }
            cout << "Загаданные числа были: " << num1 << ", " << num2 << ", " << num3 << "\n";
            cout << "--------------------------------\n";
        } 
        else {
            cout << "Неверный ввод! Пожалуйста, выберите 1 или 2.\n";
        }
    }

    return 0;
}