C语言俄罗斯方块试验报告,包括源程序

C语言俄罗斯方块试验报告,包括源程序

ID:37917999

大小:112.50 KB

页数:17页

时间:2019-06-02

C语言俄罗斯方块试验报告,包括源程序_第1页
C语言俄罗斯方块试验报告,包括源程序_第2页
C语言俄罗斯方块试验报告,包括源程序_第3页
C语言俄罗斯方块试验报告,包括源程序_第4页
C语言俄罗斯方块试验报告,包括源程序_第5页
资源描述:

《C语言俄罗斯方块试验报告,包括源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验内容游戏程序----俄罗斯方块指导老师李陶深一.实验题目设计完成俄罗斯方块游戏。游戏开始后在游戏小窗口的顶部会随机产生一个方块并以一定的速度下移,下移过程玩家作变换、左右移操作以使其摆放合适,当叠满一行时会自动消去并计10分,若不能消行而叠到游戏小窗口的顶部则游戏失败,此时玩家可退出或重新开始。二.实验要求与目的游戏界面合理,进入游戏后应有操作说明。要求:⑴按任意键开始游戏,随机产生方块并自动下移⑵用Esc键退出游戏,R键可重新开始游戏⑶用  键变换方块⑷用  键和 键左右移动方块⑸用  键使方块加速下移⑹用空格键使方块直接下移⑺能

2、正确判断满行并消行、计分、定级别⑻能正确计时⑼设定游戏为五个级别,级别越高难度越大目的是通过设计完成俄罗斯方块游戏,加深对计算机图形学的认识并在实践中加以应用,此外进一步熟悉应用编程语言。三.实验环境硬件:CPU--------------AMDAthlonXP1800+内存--------------DDR333256M硬盘--------------40G显示卡-----------Max44064M128bit显示器-----------17寸彩显软件:OS----------------WindowsXP开发工具--------

3、TuborC2.0四.系统的设计思想1.系统的体系结构本系统主要由主函数、方块的产生与清除、方块的变换与移动、消行与计分、计时这五大模块组成,其中方块的变换与移动模块是本系统中的关键模块,也是最为复杂的模块。详情请参考以下的结构图:主函数Main()方块的产生与清除turnUnit()、clrTurnUnit()方块的变换与移动move()消行与计分clrLine()小方格的产生fangKuai()、小方格的清除clrFangKuai()方块的变换c72()、getN()方块的下移与左右移c75()、c77()方块左、右、下的停止sto

4、pL()、stopR()、stopB()计分score()计时coutTime()俄罗斯方块的体系结构图1.模块的功能下面将具体介绍各模块的功能:A.主函数模块本模块主要是初始化图形显示模式,定义游戏说明窗口以及游戏窗口的界面,还有计分、计时、定级别窗口的设定。当然应有对其它子模块的调用,如:方块的产生与清除、方块的变换与移动、消行与计分、计时等模块。A.方块的产生与清除模块本模块有两大功能:产生方块、清除方块,分别由voidturnUnit(intx,inty,intn)、voidclrTurnUnit(intx,inty,intn)

5、 来完成。它们的三个参数中的X与Y表示操作所在的位置,N决定方块的形状(X、Y、N在以后出现的函数中意义相同,将不在重述)。由于每个方块都是四个小方格组合而成,我编了小方格的产生、清除子函数voidfangKuai(intx0,inty0)、voidclrfangKuai(intx0,inty0)来给上面两个函数调用。x0、y0表示操作所在的位置。B.方块的变换与移动模块本模块负责方块自动下移,在下移过程中方块的变换、左右移动、加速下移、直接下移的操作,由intmove(intx,inty,intn)来完成。stopB()检测方块可下移

6、时move()将循环检测有无键盘输入,若无输入方块自动下移一小格;否则判断输入是什么,向上方向键则方块顺时针旋转变换一次,向左方向键并且stopL()检测方块可左移则方块向左移一小格,向右方向键并且stopR()检测方块可右移则方块向右移一小格,向下方向键则方块向下移一小格,空格键则直接下移。C.消行与计分模块当一个方块不能移动时需调用本模块clrLine()。本模块将从该方块的最下面小方格所在行开始到最上面小方格所在行结束,从左到右判断每一行是否满行;若满行则消行并且下移该行以上的已填充的小方格,然后调用计分函数,计分函数将给全局变量

7、f加1,此时游戏所得的分数sc为fX10。由于文本输出函数outtextxy()是输出字符串而不支持变量输出,但分数sc是变量,于是用间接的办法:把分数sc的值sprintf()函数存到字符数组buf[3]所在的地址中,由于字符数组中的值相当于字符串,于是用outtextxy()输出便可,字体颜色是红色RED。其实在输出新的分数之前要先把旧的分数擦去,方法也很简单:用刚才说的办法把旧分数再输出一次,不过这次字体的颜色是背景色GREEN。计分函数还有一个与分数紧密相关的操作定游戏的级别,共分为6个级别:0分到300分为0级,0分到300分

8、为0级,300分到700分为1级,依此类推,1800分到2500分为4级,超过2500分为5级。可以看到,除了每一级要求的分数都比上一级多100分外,方块的自动下移速度也加快(0级的1/13)以增加游戏的挑

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。