C--课程设计-俄罗斯方块游戏1.doc
《C--课程设计-俄罗斯方块游戏1.doc》由会员分享,可在线阅读,更多相关《C--课程设计-俄罗斯方块游戏1.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 报 告 课程名称:面向对象程序设计C+ 设计题目: 俄罗斯方块游戏 专 业:计算机科学与技术 姓 名: 学 号: 指导教师: 李晓虹 2015 年 12 月 25 日目录一、需求分析31.1系统概述31.2游戏特色31.3功能需求3二、总体设计42.1系统模块42.2系统业务处理流程5三、详细设计53.1砖块预显示53.2分数统计63.3砖块移动和游戏暂停的实现73.4播放背景音乐83.5游戏设置与帮助83.6背景位图的插入93.7砖块三维化103.8俄罗斯方块双人版的实现10四、测试与结果114.1整个游戏运行界面图114.2游戏设置与帮助页面图12五、总结13一、需求分析1
2、.1系统概述俄罗斯方块玩家通过键盘控制方块的形状样式和速度,组成相连的1行或1行以上方块会自动消除,方块消除到一定数量后会得到一定的分数,玩家可以升级,从而难度加大,也就是速度加快,玩家还可以通过消除一组方块,使得到的分数翻倍等到更多的分数,造成更强的分数效果。游戏中玩家可以和其他玩家1V1对战。1.2游戏特色俄罗斯方块是基于pc休闲平台上的单机对战休闲游戏,这就要求游戏本身不能过于庞大复杂,需要考虑到单机对战的灵活性和多变性。在游戏中通过对方块速度的变,能够使玩家不仅仅通过自己消除方块来获胜,还可以等到更多的分数,因此获得胜利。俄罗斯方块游戏在传统的俄罗斯方块当中加入了新鲜的游戏元素,例如可
3、爱的方块的颜色,绚目的消除方块特效显示,在游戏本身的简单耐玩的基础上,大大丰富了游戏的观赏性和趣味性,令玩家有了完全的游戏体验,充分享受游戏带来的乐趣。1.3功能需求(1)实现双人俄罗斯方块(2)隐藏菜单栏、工具栏、状态栏(3)实现难度可以选择(4)实现下一个砖块预测功能(5)实现总分统计功能,和每步消除所得分数显示(6)实现下、左、右、旋转、暂停功能(7)实现背景音乐播放功能(8)添加游戏帮助菜单(9)实现砖块三维化(10)实现双缓冲避免屏幕闪烁(11)设置窗口大小,禁用最大化按钮,禁止鼠标拖动改变窗口大小二、总体设计2.1系统模块图2-12.2系统业务处理流程图2-2三、详细设计3.1砖块
4、预显示砖块预显示的原理就是在第一次生成砖块的时候,一次生成2个砖块。然后将第2个砖块预显示,第1个砖块掉下来。接着将预显示的砖块掉下来,新随机生成的砖块预显示。这样的话,我们用flag1标记是不是第一次产生砖块3.2分数统计这里实现了,显示每次消除所得的分数和游戏总共所得的分数。由于,我们有一个返回消除了多少行的函数removeFullLines(),所以我们将这个返回值乘以积分规则里面的值,就实现了显示每次消除所得的分数。然后游戏总分就是累加每次得到的分数值。因为砖块最多就是消除4行,所以这里用个switch()语句来实现。m_num2是一个成员变量,保存的就是removeFullLines
5、()的返回值。3.3砖块移动和游戏暂停的实现这里原本是需要响应键盘按下事件的,所以需要添加WM_KEYDOWN消息响应。然后将函数传进来的nChar,也就是你按的键盘值,和你游戏中设定的移动按键比较。从而执行相应的操作。同时这里也要熟悉一下虚拟按键码。但是由于我们添加了位图按钮,导致键盘按键事件响应不了,我们这里就重载了PreTranslateMessage函数,在这个函数里面拦截按键消息,从而响应。一键下落:这里用了一个循环,直到下落到砖块与边界或者其他砖块产生冲突才停止下落。空格暂停:暂停的原理就是关闭定时器,KillTimer(1);/关闭定时器空格继续:SetTimer(0,diffi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 俄罗斯方块 游戏
限制150内