Мне нужно, чтобы мой Level
увеличивался на 1 каждый раз, когда я использую return main();
Мне нужно что-то, где я не устанавливаю свои переменные в int main()
, или чтобы оно обходило level = 0;
каждый раз, кроме первого, но я понятия не имею, что делать.
Если есть несколько мастеров кодирования, я был бы очень признателен, если бы вы мне помогли (о да, я заменил Level
в приветственном сообщении на "placeholder"
).
Я попытался создать новый файл, поместив его выше int main() {}
, используя переменные, чтобы сделать его, когда он завершает код перед тем, как перейти к началу, устанавливает его в 1, так что он устанавливает level
в 0 только если другая переменная (назовем ее reset
) равна 1, но это не сработало, потому что при reset
в 0 каждый раз, когда это происходит, она запускается снова. Это не сработало, поэтому я избавился от этого.
int main()
{
int level;
level = 0;
system("cls");
//varibles
int secret, guess;
// color
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4);
//the number that you guess!
srand(time(NULL));
secret = rand() % 100 - 0;
cout << " Number Guessing Game!" << endl;
cout << "----------------------------------" << endl;
cout << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);
cout << "Welcome my name is Luffy Computron. your currant level is " << "placeholder" << endl;
cout << " I will randomly pick a number between 0 and 100" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 22);
cout << "Take a guess" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
cout << "Guess:";
cin >> guess;
while (guess != secret) {
if (guess > secret) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);
cout << "Too large. Try again." << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
}
if (guess < secret) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);
cout << "Too small. Try again." << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
}
cout << "Guess:";
cin >> guess;
}
if (guess == secret) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 6);
cout << "Congradulations!" << endl;
if (level == 1) {
cout << "you are now an untrained aprentice of the computron team";
cout << "to become an aprentice play 4 more times!";
}
}
Sleep(2000);
return main();
}
Он должен менять level
на единицу при каждом запуске return main();
но это просто остается на 1.