- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[信息与通信]俄罗斯方块论文
西北农林科技大学信息工程学院
面向对象课程设计实习报告
题 目: 俄罗斯方块游戏
学 号 姓 名 专业班级 计算机科学与技术103 指导教师 实践日期 2012年2月20日-3月4日
目 录
一、综合训练目的与要求 1
二、综合训练任务 1
三、总体设计 1
四、详细设计说明 1
五、调试与测试 1
六、实习日志 1
七、实习总结 1
八、附录:核心代码清单 1
一、综合训练目的与要求
正文目的:通过综合训练能够熟练的
二、综合训练任务
通过c++实现俄罗斯方块游戏的以下功能:
1. 四个小方块可以组成俄罗斯方块中七种基本形状的方块组。
2. 随机从游戏框上方产生一个方块组,使其以一定速度下落。
3. 可以通过 ← → 来控制方块组的位置,↑ 控制方块组的变形,↓ 控制方块组下落速度。
4. 方块组下落时,当方块组中有一个方块移动到游戏边框或者是有其他方块组的位置时停止移动。
5. 每一行所有格子都被方块填充后消除一行,上边的方块下移一行并且按规则更新游戏分数。
6. 当有方块超出游戏上边框时,游戏结束并且显示游戏分数。
三、总体设计
本任务主要有两方面:
游戏界面的实现:
游戏界面设计如下:
游戏界面主要用到MFC单文档视图类,由CView派生而来,主要负责数据的显示和与用户交互。
俄罗斯方块游戏的主要对象是方块组,要有定时函数随机产生方块组。俄罗斯方块游戏中共有七种方块组,每种方块组都由四个小方块组成,如下:
可变化为:
可变化为:
可变化为:
可变化为:
可变化为:
可变化为:
可变化为:
游戏界面的设计:
可以在DX_TetrisView类中定义一个二维数组来表示:
游戏中已经被落下方块组填充的方格用2表示;有正在下落方块组的方格用1表示;没有的用0表示,则可看到如下:
转换为数组内部存储为:
设计完成后的游戏界面如下:
2)游戏控制的实现:
游戏的控制主要在于方块组的变形和一行堆满后的消去。可以通过类的方法实现,可以在类中增加变形以及下落和控制得分等函数。
四、详细设计说明
游戏的主要流程图如下:
1.游戏的后台控制
首先是类的定义:
在MFC中建一个新的工程DX_Tetris,在工程下会自动生成四个类
CDX_TetrisApp CDX_TetrisDoc CDX_TetrisView CMainFrame
整个游戏是基于 MFC单文档模版做的,主要的游戏控制在类CDX_TetrisView中实现:
我在CDX_TetrisView类中添加了一些需要的属性和方法,如下:
COLORREF tempcolor,tempcolor1,color[20][10];//存放颜色变量
void Endgame(); //结束游戏后清零变量状态
void myDraw(); //绘制画面
int time; //中断函数中的时间间隔
void Star(); //开始游戏
int count; //用于记分的变量
void Isover(); //判断游戏是否结束
int dop(); //使方块快速下落
int Isbottom(); //判断方块是否可以继续下落
int Isout(int w); //判断是否出界,再判断是否可以变形
int round(int as); //方块组变形
void clean(int b); //清空保存方块组信息的变量
int index; //标记产生的随机数
int R,L,H,J,K;
int cor[20][10]; //保存游戏背景方块信息的二维数组
point aa[4],bb[4],dd[4],temp[4]; //保存产生的方块组信息
然后是各种方法的实现:
打开类向导,选择CDX_TetrisView类右键点击属性,选择属性栏右侧消息按钮,为CDX_TetrisView类添加Windows标准消息:选择WM_CR
您可能关注的文档
最近下载
- 电线电缆原材料采购控制程序.doc VIP
- GB50736-2012 民用建筑供暖通风与空气调节设计规范.pdf VIP
- 立体结构逻辑图( 112页).pptx VIP
- 小学“后进生”的成因及转化策略探讨 .pdf VIP
- SJT 11329-2006 数字电视接收设备接口规范 第3部分:复合视频信号接口.pdf VIP
- GB50086-2015 岩土锚杆与喷射混凝土支护工程技术规范.docx
- 劳务派遣招投标书.doc VIP
- 与听力学有关的国家标准听力计检定与声场校准讲解课件.ppt VIP
- 乳品品鉴师(三级)技能鉴定备考试题库(附答案).docx VIP
- 2025义务教育化学课程标准考试题库及答案.docx VIP
文档评论(0)