c - 我怎样才能在某些情况下在 C 中使用 getch()?

标签 c getchar getch getc

我真的不知道如何输入标题,所以我想到了这个。所以基本上我想用 C 语言制作某种蛇。但我不知道如何制作控件。假设您按下了左箭头,蛇必须向左移动,直到按下另一个键,但我想不出它总是停下来等待我按下键的代码。

我在想这样的事情:

for ( i = 0; i < 10 ; i++ ) {
     if( next_move = getch() ) break;
     else Sleep(10);
}
if(!next_move)
    next_move = prev_move;
if( move ( next_move, bite_cord ) ) {
    prev_move = next_move;
    next_move = 0;
    Sleep(300);
    system("CLS");
    printf("You lost. ");
}

我的想法是等一秒钟,如果没有按下任何键继续上一个键,但如果按下则立即保存按下的键。

你有什么想法吗?

最佳答案

你可以使用kbhit() 代码会是这样的

if (kbhit())
    input = getch(); //Or something like that

关于c - 我怎样才能在某些情况下在 C 中使用 getch()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003381/

相关文章:

c++ - 我怎样才能让程序只注册一个按键与 getch 或不同的功能?

c - errno 常量 EMEDIUMTYPE 的含义

c - 在 C 中释放内存

c - pthread运行多次

c - 带有小框 0 和 1 的 ubuntu 终端上的输出是什么?

C 程序在第一次 getchar() 后关闭

c - scanf() 不显示在屏幕上

在不按 Enter C 的情况下捕获 EOF 击键

c - X-Macros 的实际使用

c - int c = getchar()?