贪吃蛇游戏中我们需要通过電脑按键的功能与使用来控制贪吃蛇的前进方向在代码中,我用到了kbhit() 函数来实现这一功能kbhit() 函数是一个用于非阻塞的响应键盘输入事件嘚C语言函数,下面我们就来简单介绍一下这个函数的功能和用法
检查当前是否有键盘输入(仅此而已) |
若有键盘输入返回一个非0值,否則返回0 |
非阻塞函数是一种无论是否执行相关操作都会返回的函数与之对立的是阻塞函数,如 scanf()、getch() 等如果不操作,函数就会一直等着不返回。
贪吃蛇实现方向控制的代码框架如下
判断 str 的值进而确定方向
上面的方法先要判断是否有电脑按键的功能与使用按下,进而需要接收键入的字符最后再进行方向的判断。这实在是一种麻烦的方法
确定用户当前是否按下了键盘上的某一个键 |
表示两个内容,一个是最高位bit的值代表这个键(自上次引用此函数以来)是否被按下,按下为1抬起为0;一个是最低位bit的值 |
结果:如果你按着 ‘↓’ 不放则会一直输出 ‘A’