C语言——获取键盘方向键效果

效果:当按下左方向键时输出 “LLL”, 当按下右方向键时输出 “RRR”, 当按下上方向键时输出 “UUU”, 当按下下方向键时输出 “DDD”。

#include <stdio.h>
#include <windows.h> 	//控制界面,获取坐标位置
#include <stdlib.h>		//宏文件
#include <conio.h> 		//接受键盘的输入输出

#define U 1
#define D 2
#define L 3
#define R 4

int key1,key2;
int	status;

void snakemove()
{
	if(status == L)
	{
		printf("LLLLLLLLLLL");
	}
	if(status == R)
	{
		printf("RRRRRRRRRRR");
	}
	if(status == U)
	{
		printf("UUUUUUUUUUU");
	}
	if(status == D)
	{
		printf("DDDDDDDDDDD");
	}
}

void keyboardControl()
{
	status=R;
	snakemove();//RRR
	printf("\n");

	while(1)
	{
		if (key1 = _getch()){
           key2 = _getch();
        }
		if(key2==72)//方法一,up代表72,down代表80,left代表77,right代表75
		{
			status = U;	//UUU
			snakemove();
			printf("\n");
		}


		if(GetAsyncKeyState(VK_DOWN)!=0)//方法二
		{
			status = D;//DDD
			snakemove();
			printf("\n");
		}

		if(GetAsyncKeyState(VK_LEFT)!=0)
		{
			status = L;//LLL
			snakemove();
			printf("\n");
		}

		if(GetAsyncKeyState(VK_RIGHT)!=0)
		{
			status = R;//RRR
			snakemove();
			printf("\n");
		}
	}
}

int main()
{
	keyboardControl();
	return 0;
}

发布了75 篇原创文章 · 获赞 52 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/WU2629409421perfect/article/details/100530407