1 / 30
文档名称:

Tc20编写俄罗斯方块游戏.doc

格式:doc   大小:68KB   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Tc20编写俄罗斯方块游戏.doc

上传人:水中望月 2019/5/16 文件大小:68 KB

下载得到文件列表

Tc20编写俄罗斯方块游戏.doc

文档介绍

文档介绍:。很久以前,;最近有好些朋友看见我以前的俄罗斯方块的程序后,螇问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与各位编程爱好者分享,一直没空。正好现在放假了,而且离回家还有几天。于是我就把这个程序重新写了一遍,尽量使程序的结构比较清晰好懂一些。同时写了下面的这份东西。芄蚁俄罗斯方块游戏的程序中用到了一些方法。为了比较容易理解这些方法,我在讲述的同时写了些专门针对这些方法的示例程序。这些示例程序力求短小,目的是用最小的代码能够清楚的示例所用的方法。。最后还附了完整的俄罗斯方块游戏的源代码,和最终的可执行程序。如果你看了这份东东,有什么意见和想法,请发电子邮件告诉我。我将会继续更新这分东东,最新的版本可以在我的个人主页上下载。蒀袆下面的问题是有关俄罗斯方块程序的,其中有些是朋友问我的,有些是我认为可能会被问到的。我尽量按问题从易到难排列这些问题。关于俄罗斯方块程序的一些问题:蚃******************************************************??芈怎样获取鍵盘输入?膃怎样控制方块的移动?肂怎样控制时间间隔(用于游戏中控制形状的下落)?艿游戏中的各种形状及整个游戏空间怎么用数据表示?莆游戏中怎么判断左右及向下移动的可能性?螆游戏中怎么判断某一形状旋转的可能性?袂按向下方向键时加速某一形状下落速度的处理?莀怎么判断某一形状已经到底?蒅怎么判断某一已经被填满?芅怎么消去已经被填满的一行?薂怎么消去某一形状落到底后能够消去的所有的行?(如长条最多可以消去四行)膈怎样修改游戏板的状态?袇怎样统计分数?蚅怎样处理升级后的加速问题?莃怎样判断游戏结束?艿关于计分板设计的问题。羅关于“下一个”形状取法的问题。肄剩下的问题。肃芀******************************************************芈新的问题:薄我想有一个最高记录的显示,应该怎么做呀?袄我想实现一个进度存储功能,应该怎么做呀??腿薅 ,一种是我们所熟知的字符模式,另一种是图形模式。在字符模式下只能显式字符,如ASCII字符。一般是显示25莂行,每行80个字符。程序缺省的是字符模式。在字符模式下不能显式图形和进行绘图操作。要想进行图形显示和绘图操作,必须切换到图形模肀式下。膀袇 ()函数可以切换到图形模式,用closegraph()可以从图形模式切换回字符模式。initgraph()和closegraph()都是图形肆函数,使用图形函数必须包括头文件""。螁羈 voidfarinitgraph(intfar*graphdriver,intfar*graphmode,charfar*pathtodriver);graphdriver是上涨指向图形驱动序号变量的指针;graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针。pathtodriver表示存放图形驱动文件的路径。羅蒅 ,每种图形驱动下又有几种图形显示模式。在我的程序中图形驱动序号为VGA,图形显示模式序号为VGAHI。这是一种分辨率为640*480(从左到右坐标依次为0-639,从上到下坐标依次为0-479),能够显示16种颜色的图形模式。别的图形驱动序号和图形显示模式序号,可以从手册或联机帮助中找到。薁聿 pathtodriver指示存放图形驱动文件的路径。图形驱动序号不同,图形驱动文件也不同。序号为VGA图形驱动对应""这个图形驱动文件。""一般在Tc目录下。莈羄voidfarclosegraph(void);芁没有参数,从图形模式直接返回字符模式。肁蒆initgraph()和closegraph()的常用用法如下:莄intgdriver=VGA,gmode=VGAHI,errorcode;肂袈/*initializegraphicsmode*/袈initgraph(&gdriver,&gmode,"e:\\tc2");螃螂/*readresultofinitialization*/罿errorcode=graphresult();羇膃if(errorcode!=grOk)/*urred*/薃{肁printf("Graphicserror:%s\n",grapherrormsg(errorcode));肅printf("Pressan