balabala丶 2022-03-25 22:55 采纳率: 66.7%
浏览 147
已结题

c++中kbhit()函数的用法

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
if (t == 0)
            t = 15000;
        while (--t)
        {
            if (kbhit() != 0)    //kbhit()是一个C和C++函数,用于非阻塞地响应键盘输入事件。其中文可译为“键盘敲击”(keyboard hit)
                break;
        }
        if (t == 0)   //没按键输入的情况
        {      
            if (Bottom(n, space_z, x, y + 1) != 1)  // Bottom != 1  未到达底部
            {
                Draw_Kong(n, space_z, x, y);       //重新绘画下落的方块代替
                y++;                                //方块 y+1 (下降1)
            }
            else
            {
                for (i = 0; i < 4; i++)
                {
                    for (j = 0; j < 4; j++)
                    {
                        if (blocks[n][space_z].space[i][j] == 1)
                        {
                            face.data[y + i][x + j] = BOX;
                            face.color[y + i][x + j] = n;
                            while (Eliminate());
                        }
                    }
                }
                return;
            }
        }
        else      //有按键输入的情况
        {
            ch = getch();  //读取输入的按键
            switch (ch)

想问下 这里的 t 是干嘛用的?为啥要 t=0 ,t=1500?

  • 写回答

1条回答 默认 最新

  • balabala丶 2022-03-25 23:12
    关注

    t=15000, --t,若是在 t 正常减到0时都没键盘输入则进入t ==0的情况,若是 在t 从15000减到0期间有键盘输入,则进入 else的输入情况

    评论

报告相同问题?

问题事件

  • 系统已结题 4月2日
  • 创建了问题 3月25日

悬赏问题

  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物