码迷,mamicode.com
首页 > 其他好文 > 详细

关于getch()函数

时间:2016-04-29 15:47:34      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

从百度上得知:

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

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

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

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

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <conio.h>
#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    //右

int  KEY_EXIT_STATU = 0 ;
int  KEY_ENTER_STATU = 0 ; 
int  KEY_SPACE_STATU = 0 ;  

int  KEY_UP_STATU = 	0 ; 
int  KEY_DOWN_STATU = 	0 ; 
int  KEY_LEFT_STATU = 	0 ; 
int  KEY_RIGHT_STATU =	0 ;  

char ch ; 

int get_value() ;
int main(void)
{

	int i = 0;
	while(1) 
	{
		get_value();
	}
	return 0 ; 
}

int get_value()
{
	ch = getch() ;
	system("cls");
	switch(ch)
	{
			case ESC :  KEY_EXIT_STATU = 1 ;  		 	
						printf("退出\n") ; break ; 
			case ENTER :KEY_ENTER_STATU = 1 ;		 	
						printf("回车\n") ; break ; 
			case SPACE : 
			 			KEY_SPACE_STATU = 1 ;		 	
						printf("空格\n") ; break ; 
			case KEY_UP:case 'w' :  
			            KEY_UP_STATU = 1 ;
						printf("上\n") ; break ;
			case KEY_DOWN:case 's' :
						KEY_DOWN_STATU = 1 ; 
						printf("下\n") ; break ;
			case KEY_LEFT:case 'a' :
				  		KEY_LEFT_STATU = 1 ;
						printf("左\n") ; break ;
			case KEY_RIGHT:case 'd':
						KEY_RIGHT_STATU = 1 ;
						printf("右\n") ; break ;
	}
}


关于getch()函数

标签:

原文地址:http://blog.csdn.net/morixinguan/article/details/51276229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!