用键盘移动光标的简单介绍

王朝other·作者佚名  2008-06-01
宽屏版  字体: |||超大  

很多朋友都不知道如何用键盘来移动光标,因此有很多程序都不能写,这里我写了简单用到上下左右以及ESC键的程序,希望对一些c的初学者有些作用.知道了这几个键盘的用法后你就可以靠自己的创造力来写自己想写的需要用到键盘的游戏了吧.(比如俄罗斯方块,贪吃蛇等等),最主要的还是可以让一些新手能知道这种用法,我不久前为了知道这种用法也花了很多时间找类似的文章.在这里希望下面这个小程序能对初学的朋友们有用.

#define UP 0x4800

#define DOWN 0x5000

#define LEFT 0x4b00

#define RIGHT 0x4d00/*这些是上,下,左,右的16进制*/

main()

{int key,x,y,a,b;

int i,j;

clrscr();

for(i=20;i<=60;i++)

{

gotoxy(i,4);

printf("%c",219);

gotoxy(i,21);

printf("%c",219);

}

for(i=4;i<=21;i++)

{

gotoxy(19,i);

printf("%c",219);

gotoxy(61,i);

printf("%c",219);

gotoxy(18,i);

printf("%c",219);

gotoxy(62,i);

printf("%c",219);

}/*以上是画简单的边界*/

gotoxy(40,10);

x=40;

y=10;

printf("\1");

gotoxy(x,y);

for(;;)

{

a=x;

b=y;

key=bioskey(0);

if(key==UP)/*上键盘*/

{

y--;

if(y==4)

{

y++;

b++;

}

gotoxy(x,y);

}

else if(key==DOWN)/*下键盘*/

{

y++;

if(y==21)

{

y--;

b--;

}

gotoxy(x,y);

}

else if(key==LEFT)/*左键盘*/

{

x--;

if(x==19)

{

x++;

a++;

}

gotoxy(x,y);

}

else if(key==RIGHT)/*右键盘*/

{

x++;

if(x==61)

{

x--;

a--;

}

gotoxy(x,y);

}

else if(key==0x11b)/*esc键盘*/

break;

else continue;

printf("\1");

gotoxy(a,b);

printf(" ");

gotoxy(x,y);

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有