生鱼_忧患 2023-03-03 00:57 采纳率: 66.7%
浏览 64
已结题

c语言游戏暂停后然后使倒计时不减少

游戏暂停后再继续,倒计时少了几秒,想知道然后排除暂停的那一段时间

  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-03-03 08:51
    关注

    该回答引用ChatGPT

    以下是一个示例代码,可以实现暂停游戏并正确地计算剩余时间:

    #include <stdio.h>
    #include <time.h>
    
    int main() {
        time_t start_time, current_time, pause_time;
        int countdown = 10; // 初始化倒计时时间为10秒
        int is_paused = 0; // 标志游戏是否处于暂停状态
    
        time(&start_time); // 记录游戏开始时间
    
        while(countdown > 0) {
            if(!is_paused) {
                time(&current_time); // 获取当前时间
                int elapsed_time = difftime(current_time, start_time) - pause_time; // 计算已经过的时间
                int remaining_time = countdown - elapsed_time; // 计算剩余时间
                printf("%d seconds remaining\n", remaining_time);
            }
            char input = getchar(); // 获取键盘输入
            if(input == 'p') { // 暂停游戏
                is_paused = 1;
                time_t pause_start_time;
                time(&pause_start_time); // 记录暂停开始时间
                // 等待直到用户输入'r'继续游戏
                while(getchar() != 'r') {}
                time_t pause_end_time;
                time(&pause_end_time); // 记录暂停结束时间
                pause_time += difftime(pause_end_time, pause_start_time); // 累加暂停时间
                is_paused = 0;
            }
            countdown--;
        }
        printf("Game over\n");
        return 0;
    }
    
    

    在上面的代码中,我们使用了time函数来获取时间,并使用difftime函数计算时间差。我们记录了游戏开始时间和每次暂停的开始和结束时间,并使用pause_time变量来累加暂停时间。在每次循环中,我们检查游戏是否暂停,如果没有暂停,则计算剩余时间并输出。如果用户按下'p'键暂停游戏,则记录暂停开始时间,并等待用户按下'r'键继续游戏,记录暂停结束时间并累加暂停时间。最后,我们在倒计时结束时输出"Game over"并结束程序。

    需要注意的是,在实际的游戏开发中,可能需要更复杂的处理方式来实现暂停和计时器功能。以上代码仅为示例,需要根据实际情况进行修改和优化。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 3月3日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表