基于Qt的俄罗斯方块游戏_第1页
基于Qt的俄罗斯方块游戏_第2页
基于Qt的俄罗斯方块游戏_第3页
基于Qt的俄罗斯方块游戏_第4页
基于Qt的俄罗斯方块游戏_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于基于qt的俄罗斯方块游戏开发的俄罗斯方块游戏开发湖南工学院电气与信息工程学院答辩人:曾奇凡专业:电子信息工程指导老师:戴日光设计任务与要求可行性研究qt简要介绍游戏详细设计与实现游戏整体测试程序设计流程致谢目录设计任务要求设计任务要求游戏的开始,停止,暂停,继续游戏难度的设计分数统计游戏显示可行性研究可行性研究操作系统:microsoft windows 7 ultimate(32位)内存:2g硬盘:320gcpu:奔腾p6100交互工具:键盘/鼠标显示器:wxga显示器开发工具:qt 4.7.4开发环境开发环境接口控制接口控制本游戏通过键盘进行操作,在windows的操作系统下,利用键盘

2、的上、下、左、右键对方块进行移动变形,要使用键盘的接口事件。 qt简介 qt是一个跨平台的c+图形用户界面的应用开发框架。它支持windows、linux/unix平台、macintosh、embedded平台等,所以qt所开发的应用具有良好地可移植性。8qtqt的优良特性的优良特性可移植性国际化 面向对象可用户化的外观 独有的signal slot机制开发程序的方便性强大的功能 高性能的工具 信号与槽的连接原理图定义一个枚举类型,表示方块的七种形状,通过图形实体类tetrixpiece的setrandomshape()方法随机产生一个初值,用于产生图形的某种状态,如图:随机产生一个数随机产生

3、一个数随机数随机数z z字形字形s s字形字形直线型直线型t t字字形形正方形正方形l l字形字形反反l l型型游戏详细设计游戏详细设计图形的产生 每个形状由4个小方块组成,这里每行的四个坐标即4个小方块的坐标,其中横向为x,纵向为y,上图分别为z字形、s字形、直线型、t字形、正方形、l字形和反l字形,各个图形的坐标依次如下: 0, -1 , 0, 0 , -1, 0 , -1, 1 , 0, -1 , 0, 0 , 1, 0 , 1, 1 , 0, -1 , 0, 0 , 0, 1 , 0, 2 , -1, 0 , 0, 0 , 1, 0 , 0, 1 , 0, 0 , 1, 0 , 0,

4、1 , 1, 1 , -1, -1 , 0, -1 , 0, 0 , 0, 1 , 1, -1 , 0, -1 , 0, 0 , 0, 1 图形的旋转图形的旋转图形的旋转是通过绘制4 个方向的方块,在不同旋转角度显示不同方向的方块来实现的。定义一个函数rotatedleft() const,当每次响应键盘向上的方向键时,方块顺时针旋转90度,同时画布刷新一次,这样,方块的变形就实现了。方块下移方块下移功能:判断图形能否向下移动,显示下移后的界面,或者游戏结束。实现:先向下移动一步,此时并不在界面上显示下移后的界面,判断是否到底,若到底则消行记录分数、出现下一个图形;判断是否是否一开始就与其它图

5、形重合,若是则游戏结束;经过以上判断,此时方可显示一下一步后的界面,并进入下一次计时,流程图如图所示:满行及消行判断满行及消行判断功能:判断是否有已满行,然后把该行消去。实现:游戏在方块下移到底后,利用循环判断有几行已满,并对已满行进行清零和进行加分操作,同时更新窗口,从而实现消行的效果。 绘制游戏区域及方块绘制游戏区域及方块通过调用qpainter的drawline的方法绘制游戏网格,调用qpainter的drawpixmap和drawrect绘制方块背景和边框。 键盘事件响应键盘事件响应 俄罗斯方块是通过上下左右来控制游戏的运行,键盘响应事件功能图如图所示:键盘事件功能图具体代码实现:通过

6、重新实现虚函数qwidget:keypressevent来响应相应的键盘按键事件。判断按键判断按键判断可否变判断可否变形,图形变形,图形变化调用函数化调用函数判断可否判断可否移动。可移动。可以则移动以则移动判断可否判断可否移动。移动。可以则移动则移动可以则默认可以则默认下移一步,下移一步,否则下到底否则下到底不是这不是这4个按个按键,则接收键,则接收其他按键。其他按键。游戏主窗体的实现游戏主窗体的实现游戏主窗体是整个游戏的显示部分,主要用于放置绘制好的游戏区域,显示游戏玩家的得分情况、关卡和其它基本信息。游戏区域的宽分成10等分,高分成22等分,也就是说每行有10小矩形,总共有22行(boar

7、dwidth = 10, boardheight = 22)。左边是lcd的显示部分,lcd的显示最大为五位数。分为得分(scorelcd)、关卡(levellcd)、消行(lineslcd)。另外,主窗体还设计了游戏的选项按钮,方便游戏者的操作。游戏的设计是在qt中整个工程下完成的,游戏设计完成后,系统源文件布局如图所示: 系统源文件布局图整体测试游戏基本功能测试游戏设计完成后经过我的测试,基本的功能全部游戏设计完成后经过我的测试,基本的功能全部都已经实现,点击都已经实现,点击“开始开始”按钮后,游戏的界面如按钮后,游戏的界面如下图:下图:操作演示图操作演示图游戏基本信息显示游戏基本信息显示游戏可移植性的测试游戏可移植性的测试由于qt是一个跨平台的开发工具,利用qt开发的程序具有可移植性,为了验证游戏能在不同的系统下运行,我将游戏移植到cent os5.6下进行测试,发现游戏能够完美运行,且不用作任何更改,运行结果如图下: 游戏在游戏在cent os上的测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论