正文描述:《吃金豆游戏的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、C文本模式编程显示器有两种工作模式:文本模式和图形模式。系统默认为文本模式,在此模式下屏幕输入输出的单位都是字符(ASCII字符及扩充字符)。可以为字符设置字符颜色,背景色和是否闪烁等属性。屏幕坐标系:在文本方式下整个屏幕被划分成25行,80列,坐标原点在屏幕的左上角如下图所示。图1-1字符屏幕坐标系TC提供了字符屏幕函数。字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符显示或输出在活动窗口中进行。窗口在缺省时,就是整个屏幕。窗口可以根据需要指定其大小。1、window()函数功能:用于在指定位置建立
2、一个字符窗口。用法:voidwindow(intleft,inttop,intright,intbottom);说明:参数left,top为窗口左上角坐标;参数right,bottom为其右下角坐标。若有一个坐标是无效的,则window()函数不起作用。一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立多个互不嵌套的窗口。例1-1:窗口使用例#includeintma
3、in(){textbackground(BLACK);clrscr();//清屏window(25,10,50,20);textcolor(BLUE);textbackground(YELLOW);clrscr();//在新窗口中清屏cprintf("Hello!");//在新窗口左上角显示Hello!gotoxy(1,2);//(1列,2行)坐标是相对于新窗口的textcolor(RED);textbackground(GREEN);cprintf("TC20");window(1,1,80,25);//恢复系统设置
4、的窗口,同时坐标位置自动设为(1,1)cprintf("Begin");gotoxy(1,25);cprintf("End");return0;}运行效果如下图:2、键盘捕获---bioskey()函数在键盘内有一个微处理器,用来扫描和检测每个键的按下和抬起状态,如有键按下则返回该按键扫描码方法:直接使用声明在bios.h中的库函数bioskey();说明:关于按键捕获函数bisokey()的使用,请参见:TC库函数使用手册。例1-2:以下是一个检测按键扫描码的程序。#defineESC0x11bintmain(){w
5、hile(1){while(bioskey(1)==0);//等待按键,无键按下bioskey(1)反回0;key=bioskey(0);//bioskey(0)读取键盘按键,并返回键的扫描码printf(“0x%x”,key);if(key==ESC)break;}return0;}请思考:当你按下光标控制键上,下,左,右键时,它们的扫描码分别是多少?例1-3调试程序:以下是一个用键盘方向键控制小人移动的程序,小人用特殊字符表示。源程序:face.c#include#include
6、.h>#include#defineUP0x4800#defineDOWN0x5000#defineLEFT0x4b00#defineRIGHT0x4d00#defineESC0x11bvoidborder(){inti,j;textbackground(BLACK);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++
7、){gotoxy(19,i);printf("%c",219);//边框左边gotoxy(61,i);printf("%c",219);//边框右边gotoxy(18,i);printf("%c",219);//左边加宽gotoxy(62,i);printf("%c",219);//右边加宽}}voidmove(){intx,y,key;x=40;y=10;gotoxy(x,y);putch('1');//显示笑脸字符while(1){while(bioskey(1)==0);key=bioskey(0);if(ke
8、y==ESC)break;gotoxy(x,y);putch('');//空格覆盖括笑脸字符(效果:将其在屏幕上擦除)switch(key){//根据方向键调整笑脸字符的新位置caseUP:y--;if(y==4)y=20;break;caseDOWN:y++;if(y==21)y=5;break;caseLEFT:x--;if(
显示全部收起