- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c俄罗斯方块游戏1
课 程 设 计 报 告
课程名称:面向对象程序设计C++
设计题目: 俄罗斯方块游戏
专 业:计算机科学与技术
姓 名:
学 号:
指导教师: 李晓虹
2015 年 12 月 25 日
目录
一、需求分析 3
1.1系统概述 3
1.2游戏特色 3
1.3功能需求 3
二、总体设计 4
2.1系统模块 4
2.2系统业务处理流程 5
三、详细设计 5
3.1砖块预显示 5
3.2分数统计 6
3.3砖块移动和游戏暂停的实现 7
3.4播放背景音乐 8
3.5游戏设置与帮助 8
3.6背景位图的插入 9
3.7砖块三维化 10
3.8俄罗斯方块双人版的实现 10
四、测试与结果 11
4.1整个游戏运行界面图 11
4.2游戏设置与帮助页面图 12
五、总结 13
一、需求分析
1.1系统概述
《俄罗斯方块》玩家通过键盘控制方块的形状样式和速度,组成相连的1行或1行以上方块会自动消除,方块消除到一定数量后会得到一定的分数,玩家可以升级,从而难度加大,也就是速度加快,玩家还可以通过消除一组方块,使得到的分数翻倍等到更多的分数,造成更强的分数效果。游戏中玩家可以和其他玩家1V1对战。
1.2游戏特色
《俄罗斯方块》是基于pc休闲平台上的单机对战休闲游戏,这就要求游戏本身不能过于庞大复杂,需要考虑到单机对战的灵活性和多变性。在游戏中通过对方块速度的变,能够使玩家不仅仅通过自己消除方块来获胜,还可以等到更多的分数,因此获得胜利。《俄罗斯方块》游戏在传统的俄罗斯方块当中加入了新鲜的游戏元素,例如可爱的方块的颜色,绚目的消除方块特效显示,在游戏本身的简单耐玩的基础上,大大丰富了游戏的观赏性和趣味性,令玩家有了完全的游戏体验,充分享受游戏带来的乐趣。
1.3功能需求
(1)实现双人俄罗斯方块
(2)隐藏菜单栏、工具栏、状态栏
(3)实现难度可以选择
(4)实现下一个砖块预测功能
(5)实现总分统计功能,和每步消除所得分数显示
(6)实现下、左、右、旋转、暂停功能
(7)实现背景音乐播放功能
(8)添加游戏帮助菜单
(9)实现砖块三维化
(10)实现双缓冲避免屏幕闪烁
(11)设置窗口大小,禁用最大化按钮,禁止鼠标拖动改变窗口大小
二、总体设计
2.1系统模块
图2-1
2.2系统业务处理流程
图2-2
三、详细设计
3.1砖块预显示
砖块预显示的原理就是在第一次生成砖块的时候,一次生成2个砖块。然后将第2个砖块预显示,第1个砖块掉下来。接着将预显示的砖块掉下来,新随机生成的砖块预显示。这样的话,我们用flag1标记是不是第一次产生砖块
3.2分数统计
这里实现了,显示每次消除所得的分数和游戏总共所得的分数。由于,我们有一个返回消除了多少行的函数removeFullLines(),所以我们将这个返回值乘以积分规则里面的值,就实现了显示每次消除所得的分数。然后游戏总分就是累加每次得到的分数值。因为砖块最多就是消除4行,所以这里用个switch()语句来实现。m_num2是一个成员变量,保存的就是removeFullLines()的返回值。
3.3砖块移动和游戏暂停的实现
这里原本是需要响应键盘按下事件的,所以需要添加WM_KEYDOWN消息响应。然后将函数传进来的nChar,也就是你按的键盘值,和你游戏中设定的移动按键比较。从而执行相应的操作。同时这里也要熟悉一下虚拟按键码。 但是由于我们添加了位图按钮,导致键盘按键事件响应不了,我们这里就重载了PreTranslateMessage函数,在这个函数里面拦截按键消息,从而响应。①一键下落:这里用了一个循环,直到下落到砖块与边界或者其他砖块产生冲突才停止下落。②空格暂停:暂停的原理就是关闭定时器,KillTimer(1);//关闭定时器③空格继续:SetTimer(0,difficulty,NULL);//继续 恢复原来的下落速度
3.4播放背景音乐
添加头文件:#include mmsystem.h ?//播放音乐 。然后在工程-设置-链接-对象/库模块里面添加winmm.lib 然后就将已经准备好的.wav格式的音乐引入VC中。这里可以自己先去下载.mp3格式的音乐,然后用格式工厂转换一下格式,我就是这么干的。
3.5游戏设置与帮助
这里就是调用了一个对话框,用来做一些解释说明。实现步骤:① 插入一个对话框② 给对话框关联一个类③ 在需要弹出对话框的函数里面定义一个对话框的对象,
您可能关注的文档
- 基于单片机的计算机之间无线通信的实现.doc
- 基于单片机的电梯仿真程序课程设计.doc
- 自来水生产过程自动测控系统设计.doc
- 自来水厂自动测控系统设计.doc
- 自适应pid控制器的设计及仿真.doc
- 基于单片机的分时计费智能电表设计.doc
- 自助旅游信息平台营销谋划书.doc
- sumernetem阅读理解考点词汇1800.doc
- 年产100万吨煤矿西一煤采区设计论文说明书.doc
- 自动售货饮料机控制电路的设计与实现.doc
- 2025版智能穿戴设备必威体育官网网址合同书(消费电子).docx
- 2025版房屋拆除施工安全监管服务合同.docx
- 二零二五年度必威体育官网网址协议:针对部队工程信息保护的专项合同.docx
- 2025版证券发行上市必威体育官网网址协议范本-@-1.docx
- 2025版材料运输及售后服务质量监督合同范本.docx
- 二零二五[权威机构]建筑施工资质认证代办服务协议.docx
- 2025版拆除工程资金监管合同范本.docx
- 2025版涉密产品研发必威体育官网网址协议范本范本.docx
- 2025版离婚财产分配协议及子女监护权协议书.docx
- 2025版财务主管离职必威体育官网网址及个人信息保护合同.docx
最近下载
- 数学学科课和数学活动课.docx
- 推台锯操作规程.pdf VIP
- Unit1Music测试卷2024-2025学年沪教版(五四制)七年级英语下册.docx VIP
- DB51∕T 940-2009 草原有害生物防治农药安全使用规范.pdf
- 医疗器械注册质量管理体系核查指南.pdf
- 江苏省南京市第二十九学校2023-2024学年九年级下学期第一次月考英语试题和答案详解.pdf
- 二年级上册语文素材指鹿为马人教部编版.ppt
- 2024年宁夏银川市单招职业倾向性测试题库及答案(全优).docx VIP
- 第五课 为什么我一个人站着吃.pptx VIP
- 17J925-1_压型金属板建筑构造.docx VIP
文档评论(0)