gpt4 book ai didi

c++ - 在 C++ 中将输出屏幕卡住一定时间

转载 作者:行者123 更新时间:2023-11-30 01:41:06 26 4
gpt4 key购买 nike

我一直在尝试用 C++ 制作贪吃蛇游戏。在让蛇移动时,我想让蛇在其位置上卡住 1 秒,然后打印新位置。我为此做了以下功能:

void wait_time(int wait_t){
time_t curr=time(NULL);
time_t nav_t=time(NULL);
while(1){
if (nav_t-curr==wait_t) {
break;
}
else{
nav_t=time(NULL);
}
}
}

但是在执行此函数时,我之前的输出不会保留。部分输出被删除。这是我控制所有功能的主要功能:

void run_game(){
initial=time(NULL);
inital_parameter();
gotoxy(0,2);
game_display();
wait_time(1);
game_movement();location_disp();
game_display();
gotoxy(0,100);
}

最佳答案

对于 C++11,您可以使用 std::this_thread::sleep_for , 暂停执行一段时间。

链接页面包括以下示例:

#include <iostream>
#include <chrono>
#include <thread>

int main()
{
// using namespace std::chrono_literals; // C++14
std::cout << "Hello waiter" << std::endl;
auto start = std::chrono::high_resolution_clock::now();
std::this_thread::sleep_for(std::chrono::seconds(2)); // C++11
// std::this_thread::sleep_for(2s); // C++14
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> elapsed = end-start;
std::cout << "Waited " << elapsed.count() << " ms\n";
}

关于c++ - 在 C++ 中将输出屏幕卡住一定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41979607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com