所以我将这个Paperpaper衍生游戏作为一个班级项目编写。如果我愿意,我可以说我已经完成并上交了,但是我希望它具有专业的风格。我的游戏包含不同的模式:简单和困难。但是我还没有实现硬模式。
无论如何,这是我的代码
void easyMode() {
string playerName;
int numNewspapers, numDelivered = 0, numMissed = 0, score = 0;
cout << "Enter Your Player Name: ";
cin >> playerName;
cout << "\nEnter How Many Newspapers That Need To Be Delivered: ";
cin >> numNewspapers;
cout << "\n\nYou have " << numNewspapers << " newspapers to deliver!\n\n";
cout << "Time To Deliver !!\n\n";
cout << "*===================================*\n\n";
//cout << string(50, '\n');
while (numDelivered < numNewspapers) {
int outcome = RandomNumberEasy();
cout << "*===================================*\n\n";
cout << "Delivering Newspaper...\n\n";
// Game Sequence
//*===================================*
// Delivered Successfully
//*===================================*
if (outcome <= 3 || outcome > 7) {
cout << "You Successfully Delivered The Newspaper.\n\n";
numDelivered++;
score = score + 15;
cout << "Your score is " << score << " points!\n\n";
}
// Delivery Failed
//*===================================*
else {
cout << "The Neighbor's Dog Chased You. Delivered Paper Didn't Quite Land On Step\n\n";
numDelivered++;
numMissed++;
score = score + 5;
cout << "Your score is " << score << " points!\n";
}
cout << "\n";
sleep(1);
}
// END GAME
//*===================================*
if (numDelivered == numNewspapers) {
int SuccDeliver = numDelivered - numMissed;
cout << "*===================================*\n\n";
cout << "Congratulations, " << playerName << "!\n\n";
cout << "Your Final Score Is: " << score;
cout << "\n\nYou missed " << numMissed << " Newspapers And Delivered " << SuccDeliver << " Newspapers\n\n";
}
}
如您所见,我的确有睡眠功能,但是当我运行程序时,它会等待很长时间,并且每次迭代都输出一次。我希望它在每次迭代之间都等待,但似乎无法正常工作。
感谢您的任何帮助!
问题似乎是输出缓冲区没有被刷新。一种方法是使用cout << endl
而不是cout << "\n"
。主要是这部分:
cout << "\n";
sleep(1);
应该是这样:
cout << endl;
sleep(1);
这应该解决它!