【发布时间】:2018-07-27 08:35:57
【问题描述】:
正在为基于文本的游戏制作一个小代码,但我试图做的想法与教程有点不同,以测试我的理解,但我试图获得一个函数值来做一个 do while 语句,但似乎是否声明 false 或 true 代码只是继续无限循环,我是一个初学者,所以如果你有时间请解释代码错误的原因,并提前谢谢你
主要功能
int main() {
PrintIntroStart();
do {
PlayGame();
AskToPlayAgain();
} while (AskToPlayAgain() == true);
return 0;
}
布尔函数
bool AskToPlayAgain(){
//Asking The Player Whether To Play Again Or Not
std::string PlayerResponse = "";
std::cout << "Do You Want To Play Again? (Yes/No)" << std::endl;
std::cin >> PlayerResponse;
if (PlayerResponse[0] == 'y' || 'Y')
return true;
else
return false;
}
【问题讨论】:
-
函数的最后四行应该是
return (PlayerResponse[0] == 'y' || PlayerResponse[0] == 'Y')。 -
从循环中删除
AskToPlayAgain();,你只需要在while (AskToPlayAgain());部分。
标签: c++ function loops do-while