一聚教程网:一个值得你收藏的教程网站

热门教程

C语言中getch()函数详解及简单实例

时间:2022-06-25 04:36:08 编辑:袖梨 来源:一聚教程网

C语言中getch()函数详解及简单实例

前言:

这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!

所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来。

       以下是以一个简单的例子:

你会发现当你按下对应的按键的时候就会打印相应的语句。

 

 代码如下复制代码

#include

#include

#include

#include

#define ESC       0x1B

#define ENTER      0x0D

#define SPACE      0x20

#define KEY_UP     72  //上

#define KEY_DOWN    80  //下 

#define KEY_LEFT    75  //左 

#define KEY_RIGHT    77  //右

  

intKEY_EXIT_STATU = 0 ;

intKEY_ENTER_STATU = 0 ; 

intKEY_SPACE_STATU = 0 ; 

  

intKEY_UP_STATU =   0 ; 

intKEY_DOWN_STATU =  0 ; 

intKEY_LEFT_STATU =  0 ; 

intKEY_RIGHT_STATU = 0 ; 

  

charch ; 

  

intget_value() ;

intmain(void)

{

  

  inti = 0;

  while(1) 

  {

    get_value();

  }

  return0 ; 

}

  

intget_value()

{

  ch = getch() ;

  system("cls");

  switch(ch)

  {

      caseESC : KEY_EXIT_STATU = 1 ;      

            printf("退出n") ;break; 

      caseENTER :KEY_ENTER_STATU = 1 ;      

            printf("回车n") ;break; 

      caseSPACE : 

            KEY_SPACE_STATU = 1 ;      

            printf("空格n") ;break; 

      caseKEY_UP:case'w': 

            KEY_UP_STATU = 1 ;

            printf("上n") ;break;

      caseKEY_DOWN:case's':

            KEY_DOWN_STATU = 1 ; 

            printf("下n") ;break;

      caseKEY_LEFT:case'a':

            KEY_LEFT_STATU = 1 ;

            printf("左n") ;break;

      caseKEY_RIGHT:case'd':

            KEY_RIGHT_STATU = 1 ;

            printf("右n") ;break;

  }

}

 

热门栏目