#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;
}