c 课程设计俄罗斯方块

c 课程设计俄罗斯方块

ID:9292038

大小:312.67 KB

页数:31页

时间:2018-04-26

c  课程设计俄罗斯方块_第1页
c  课程设计俄罗斯方块_第2页
c  课程设计俄罗斯方块_第3页
c  课程设计俄罗斯方块_第4页
c  课程设计俄罗斯方块_第5页
资源描述:

《c 课程设计俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、四川理工学院课程设计书学院计算机学院专业计算机科学与技术班级计科2014级题目俄罗斯方块教师何绍荣王非学生雷元刚张柯摘要近年来随着计算机在社会领域的不断发展,C++作为一门高级语言,能够实现面向对象编程。作为相较于C语言而言,C++设计无需复杂的程序设计环境,并且兼容C语言且比C语言更加安全和简洁。俄罗斯方块是大多数人儿时的游戏,它通过移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。本课程设计完成了俄罗斯方块的下落,旋转,加速,预览下一个方块。以及音乐的播放和帮助文档的创建,分数的读取和记录。通过编写本程序,让作者对消息循环和窗口的创建有了深入的理解

2、,并且理解了俄罗斯方块的运行原理。同时掌握书写程序设计开发文档的能力。关键词:窗口句柄;回调函数;位图方块;俄罗斯方块;目录前言11.1需求分析21.2系统功能及结构简介21.2.2系统结构2第二章详细设计32.1界面设计32.1.1UI界面设计32.2格模块功能设计42.2.1各按钮功能的实现42.3游戏区域模块62.4控制区域模块62.5系统流程图62.6具体函数设计72.7小结8第三章测试计划93.1测试方案93.2测试项目及功能93.3测试人员与目的93.4测试结果9第四章致谢13参考文献14附录A15四川理工学院课程设计前言 俄罗斯方块游戏由莫斯科科学学院程序员Alexe

3、iPajitnov设计,发行于1985年。他在玩过一个拼图游戏之后受到启发,从而制作了一个以Electronica60为平台的俄罗斯方块的游戏。后来经瓦丁•格拉西莫夫移植到PC上,并且在莫斯科的电脑界传播。帕基特诺夫因此开始小有名气。随后几年,俄罗斯方块开始登陆各大游戏主机。也曾因为版权问题引起过许多纠纷。但是拜亚洲盗版商人所赐,俄罗斯方块被引进到国内,如今已成为家喻户晓的著名游戏了。如今电子游戏业如此繁荣,作为电子游戏鼻祖的俄罗斯方块起到了决定性的作用。如今俄罗斯方块已有多种版本,有的加了几种特殊形状,有的可以使用道具,还有连机的俄罗斯方块等等。但万变不离其宗,不管怎么变,游戏的

4、基本规则是没有变化的。游戏玩法十分简单,如今已经成为一种公认的规则:屏幕顶部以随机顺序落下形状各异的方块,你要试图用它们拼成没有空隙的行列。坚持得时间越长,游戏速度也就变得越来越快,而游戏的吸引力就在于使你顶住碎块的进攻,支撑的时间比上一次更长。由于玩法简单,容易上手,如今仍是风靡全球,老少皆宜的一款游戏27四川理工学院课程设计第一章设计简介及设计方案论述1.1需求分析随着社会的发展,越来越多的人开始接触电脑,也有越来越多的人开始喜欢上玩电脑游戏,而俄罗斯方块是一款经典的游戏,对于广大人群都有吸引力,游戏可以让人们得到放松,提高人们的工作效率。而好的人机交互界面,也能给人以美好的感

5、官享受。1.2系统功能及结构简介此俄罗斯方块程序能够实现显示现一个方块的形状,以及显示当前用户的得分和等级并写入到文件中,能够暂停,重玩,退出,帮助文件,切换音乐,关闭音乐。在游戏的过程中,如果想要暂停,可以点击菜单栏上的游戏里的暂停,或者点击空格键暂停。再次点击空格键游戏继续。如果要切换音乐,可以点击设置里的音乐选项,单击2中不同风格的音乐。1.2.2系统结构利用的是MFC对话框程序的构成框架,然后再利用Windows提供的资源,运用控件,自己制作了对话框和人机交互界面。如图2.1所示。图2.1程序结构图27四川理工学院课程设计第二章详细设计2.1界面设计2.1.1UI界面设计打

6、开VCC++6.0新建一个工程,选择对话框。便生成了一个窗口。然后打开ResouceView,点开Dialog,插入Dialog,利用控件,绘制各个按钮。如图2.1所示。图2.1俄罗斯方块首先设计游戏的UI界面,先创建工具栏(第二行)添加位图资源的ID,以及按钮的个数,大小,宽度,高度,工具栏风格。添加tbButtons数组,IDM_NEW新游戏,IDM_PAUSE暂停,IDM_STOP停止,IDM_MUSIC音乐,IDM_HELP帮助,并添加竖直的分割直线。。然后为控件添加响应函数发出单机消息。编写窗口消息循环和窗口回调函数,并且用Case用来捕获消息并处理。27四川理工学院课程

7、设计2.2格模块功能设计2.2.1各按钮功能的实现(1)处理”暂停”按钮单击暂停按钮后,在message被捕获后传如回调函数后,判断是否是消息,再将其转化为int类型,并再使用case语句捕获然后调用GamePause函数来处理。如果游戏结束就直接返回,如果游戏上一个状态是开始,那么就显示游戏暂停,并调用SendMessage()显示游戏暂停,调用KillTimer()让方块停止下落,调用TetrisMusic()停止播放音乐。最后将状态设置为取反。如图2.2所示。图

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

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

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