我正在尝试为游戏编写代码,摇滚剪刀。
我最近刚刚学会了如何使用函数来获取用户输入并决定在此处尝试。
int getInput()
{
int val;
cin >> val; //only values from 0 to 2
return val
}
int main()
{
int userChoice;
while(userChoice = getInput()){//I get a warning here
srand(time(NULL)); //always randon numbers
int computer_choice = rand() % 3;
switch(userChoice) {
case:0
//compare with computer_choice
break;
case:1
//compare with computer_choice
break;
case:2
//compare with computer_choice
break;
}
}
}
现在,我有两个问题:
首先,使用userChoice = getInput()
作为我的While循环练习的参数?我怀疑是因为我得到的警告是这样的:
建议用作真值的赋值括号
我相信这意味着,此参数返回true。使用while(true)
直接产生无限循环。
我想让游戏继续进行,直到用户决定退出。我可以很容易地使用while(cin >> userChoice)
但是就像我之前提到的那样,我希望应用我最近学到的东西,或者这只是直接使用while(cin >> userChoice)
更实用的情况?
其次,当userChoice == 0
但其他选择有效时,循环会中断。这是因为0返回false,因此while参数传递False
值然后中断?
由于