/*
时间:2018年7月9日16:43:16
目的;实现随键盘上下左右,出现动态画面。
*/

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

void cle(char (*p)[20]);
void show(char (*p)[20]);

int main (void)
{
	//int i,j;
	char a[20][20];
	char (*p)[20];
	int ch,ch1;
	int m=0,n=0;
	p = a;
	
	cle(p);
	a[m][n] = '@';
	show(p);
	
	while(1)
	{
       	if (ch=getch())
		{ 
             ch1=getch();//第一次调用getch(),返回值224
             switch (ch1)//第二次调用getch()
             {
             case 72: 
				 m=m-1;
				 //printf("The key you Pressed is : ↑ \n");
				 break;  
             case 80:
				 m = m+1;
				 //printf("The key you Pressed is : ↓ \n");
				 break; 
             case 75: 
				 //printf("The key you Pressed is : ← \n");
				 n = n-1;
				 break;
             case 77: 
				 n= n+1;
				 //printf("The key you Pressed is : → \n");
				 break;                                   
             default: printf("No direction keys detected \n");break;
             }
         } 
	    system("cls");
		cle(p);
	    a[m][n] = '@';
		show(p);
	}
	    

		return 0;
	}
	
	void cle(char (*p)[20])
	{
		
		int i,j;
		for(i=0;i<20;++i)
		{
			for(j=0;j<20;++j)
			{
				p[i][j] = ' ';
			}
		}
		
	}
	void show(char (*p)[20])
	{
		int i,j;
		for(i=0;i<20;++i)
		{
			for(j=0;j<20;++j)
			{
				printf("%c ",p[i][j]);
			}
			printf("\n");
		}
	}


点赞(4)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

菜鸟程序员 2年前 回复TA
厉害
菜鸟程序员 5年前 回复TA
果然,才半年,现在看,自己都不认识自己写的啥东西了。
球球 6年前 回复TA
很深奥,虽然我看不懂!但我还是给个赞
验题君 6年前 回复TA
这个感觉不错啊,有更多的讲解就更好了!