Good day!
I am working in a project and would like to implement the number of lives(attempts to guess the numbers).
I got confused at the moment when I need to display the task condition again and enter it again FirstGuess, SecondGuess, ThirdGuess.
Then, you check for the number of lives again and compare the sum and product again…
#include <iostream>
#include <ctime>
using namespace std;
void PrintDialogs(int LevelDiffeculty)
{
switch (LevelDiffeculty)
{
case 1:
cout << "С развитием интернета-вещей, человечество все глубже уходило в сетевую форму существования.\n";
cout << "Платежи любой материальной формы стали чем-то невообразимым. Кредитные данные КАЖДОГО человека были внутри сети.\n";
cout << "И вот настал день когда все они стали доступны вирусу Trinity.\n\n";
cout << "Ты - Хенк Андерсон, написал алгоритм который сможет подобрать код доступа к самому дорогому архиву в истории.\n";
cout << "Чтобы поулчить доступ к архиву, тебе потребуется вводить данные которые знают только создатели вируса - команда \"РАГ\". \n";
cout << "Твой алгоритм успешно находит зависимости у трех подряд идущих цифр, тебе остается только правильно их отгадать.\n";
cout << "Не тяни резину, Хенк! Пора браться за спасение человечества!\n";
cout << "Когда поймешь что это за числа, вводи цифры через пробел и жми Enter.\n\n";
break;
case 2:
cout << "У тебя получается! Продолжай в том же духе!" << endl;
break;
case 3:
cout << "Так, дальше будет немного сложнее, не робей!" << endl;
break;
case 5:
cout << "Ох и вопросики у Вас, конечно... Не сдавайся. Надежда только на тебя." << endl;
break;
case 6:
cout << "Половину уже разгадали, впереди самое сложное!" << endl;
break;
case 8:
cout << "Максимальная концентрация! Не ошибись при вводе!" << endl;
break;
case 9:
cout << "Это предпоследний пазл, судьба всего мира в твоих руках!" << endl;
break;
case 10:
cout << "Спокойствие, Хенк! Подумай несколько раз, прежде чем дать ответ." << endl;
break;
}
}
int ChangeHealthsValue(int &HealthsValue)
{
if (HealthsValue > 0)
{
--HealthsValue;
cout << "Данные не верны, Хенк! Попробуй еще раз. Только будь внимателней!\n\n";
cout << "У тебя осталось " << HealthsValue << " попытки.\n\n";
return HealthsValue;
}
else
{
cout << "У тебя не осталось попыток.";
return HealthsValue;
}
}
bool PlayGame(int LevelDiffeculty, int HealthsValue)
{
PrintDialogs(LevelDiffeculty);
const int FirstNumber = rand() % LevelDiffeculty + LevelDiffeculty;
const int SecondNumber = rand() % LevelDiffeculty + LevelDiffeculty;
const int ThirdNumber = rand() % LevelDiffeculty + LevelDiffeculty;
const int SumValues = FirstNumber + SecondNumber + ThirdNumber;
const int ProductValues = FirstNumber * SecondNumber * ThirdNumber;
cout << "Сумма трех цифр равна: " << SumValues << endl;
cout << "Произведение трех цифр равно: " << ProductValues << endl;
int FirstGuess, SecondGuess, ThirdGuess;
cin >> FirstGuess >> SecondGuess >> ThirdGuess;
int SumGuess = FirstGuess + SecondGuess + ThirdGuess;
int ProductGuess = FirstGuess * SecondGuess * ThirdGuess;
if (SumValues == SumGuess && ProductValues == ProductGuess)
{
cout << "Данные верны. \n\n";
return true;
}
else
{
ChangeHealthsValue(HealthsValue);
if (HealthsValue > 0)
{
cout << "Сумма трех цифр равна: " << SumValues << endl;
cout << "Произведение трех цифр равно: " << ProductValues << endl;
cin >> FirstGuess >> SecondGuess >> ThirdGuess;
}
else
return false;
}
}
int main()
{
setlocale(LC_ALL, "ru");
srand(time(NULL));
int LevelDiffeculty = 1;
int MaxLevelDiffeculty = 10;
int HealthsValue = 3;
while (LevelDiffeculty<= MaxLevelDiffeculty)
{
bool bLevelComplete = PlayGame(LevelDiffeculty, HealthsValue);
cin.clear();// Clears any errors
cin.ignore();// Discarts the buffer
if(bLevelComplete)
{
++LevelDiffeculty;
}
else
{
cout << "Увы, но ты проиграл. Теперь весь мир погрузится в хаос.";
return 0;
}
}
return 0;
}
I hope for help in the community. Have a nice day, everyone!