C++程序的睡眠或时间延迟
sleep or time delay for C++ Program
所以我把Paperboy的这个衍生游戏作为一个课堂项目来写。如果我愿意的话,我可以说我完成了,然后把它交上来,但我希望它有一种专业的感觉。我的游戏由不同的模式组成:简单和困难。然而,我还没有实现硬模式。
不管怎样,这是我的代码
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 << "nnYou have " << numNewspapers << " newspapers to deliver!nn";
cout << "Time To Deliver !!nn";
cout << "*===================================*nn";
//cout << string(50, 'n');
while (numDelivered < numNewspapers) {
int outcome = RandomNumberEasy();
cout << "*===================================*nn";
cout << "Delivering Newspaper...nn";
// Game Sequence
//*===================================*
// Delivered Successfully
//*===================================*
if (outcome <= 3 || outcome > 7) {
cout << "You Successfully Delivered The Newspaper.nn";
numDelivered++;
score = score + 15;
cout << "Your score is " << score << " points!nn";
}
// Delivery Failed
//*===================================*
else {
cout << "The Neighbor's Dog Chased You. Delivered Paper Didn't Quite Land On Stepnn";
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 << "*===================================*nn";
cout << "Congratulations, " << playerName << "!nn";
cout << "Your Final Score Is: " << score;
cout << "nnYou missed " << numMissed << " Newspapers And Delivered " << SuccDeliver << " Newspapersnn";
}
}
正如你所看到的,我确实有睡眠功能,但当我运行程序时,它会等待很长时间,每次迭代都会同时输出。我希望它在每次迭代之间等待,但我似乎无法让它发挥作用。
感谢您的帮助!
问题似乎是输出缓冲区没有被刷新。一种方法是使用cout << endl
而不是cout << "n"
。主要,这部分:
cout << "n";
sleep(1);
应该是这样的:
cout << endl;
sleep(1);
这应该能解决问题!
相关文章:
- 以在Qt中的IF语句中设置时间延迟
- 用时钟测量程序的运行时间
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 简单C++"Hello World"程序的执行时间长
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 连续光线投射之间的时间延迟
- 测量执行时间 - 在程序代码或外壳中
- C++,我怎样才能在继续整个程序的同时延迟程序的一部分
- 如何在Qt中设置时间延迟以触发即将发生的事件
- Poco 日期时间格式化程序 - 使用当前时区打印时间戳
- 运行时间错误:程序跳过提示,以获取第二名和第三个名称
- 时间转换程序
- 当主循环正在侦听消息时,如何在特定时间退出程序
- 在Arduino中,使用功能时是否有最大延迟时间(延迟)
- 在程序继续执行的同时,如何使代码的两部分之间存在时间间隔或延迟?C++
- OpenGL 中递归函数内部的时间延迟
- 由于在C++中使用了异步IO,因此在不休眠的情况下延迟程序的其他方法
- c++时间转换程序
- 具有时间延迟的简单输入输出
- Java 套接字数据仅在发送时间延迟时有效