我正在做一个数字猜谜游戏,我不知道如何结合用户必须获得正确答案的一定数量的猜测。我希望用户只有3个猜测来猜测数字,但经过3次猜测后,如果他们没有弄清楚,他们就输了。以下是我的代码:
{{1}}
答案 0 :(得分:3)
你应该研究while循环。它会像这样使用:
int main() {
//...everything above this in yours is good
int Number_to_guess = (rand() % 10 + 1);
int NChances = userlevel + 2;
cout << "You have " << NChances << " chances to guess right.\n";
while (NChances != 0)
{
cout << "Guess: ";
cin >> userinput;
if (userinput == Number_to_Guess) {
cout << "You win! Congrats!\n";
break; // this will break out of the while-loop
}
NChances--; // this will count down the chances left
}
if (NChances == 0) {
cout << "Sorry, you lose. Try again next time!\n";
}
return 0;
}
答案 1 :(得分:1)
主要认为你在这里缺少的是一个围绕猜测限制的循环。所以在你弄清楚它们是什么级别之后,你可以说出类似下面的伪代码:
While (counter <= 3)
*Your If Statements*
counter = counter +1
确保在if语句中他们猜对了数字,你可以提前将它们从循环中分解出来。
最后,在进入循环之前猜测一个数字可能更有意义。所以,就像他们挑选难度一样,随机数取决于他们所说的,然后循环开始。现在的方式是,每次循环都会创建一个新的随机数。我不确定这是不是有意。