




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、俄罗斯方块游戏的设计和实现摘 要俄罗斯方块是一款有益大脑开发,老少皆宜的游戏。传统的俄罗斯方块 色彩单调,功能单一,略显枯燥。而该俄罗斯方块是一款基于手机端开发的, 可以根据玩家水平选择游戏难度的游戏。它实现了四个方块随机组成7种形 状的功能,这种方块组成功能在弥补传统方块组成功能的缺陷的同时,还大 大提高了游戏的趣味性,给玩家带来了更好的游戏体验。该游戏将编程技术与图形技术相结合,以eclipse作为开发环境,java作 为编程语言,数据则保存在mysql数据库屮。【关键词】java; mysql;图形技术;俄罗斯方块design and implementation of tetris g
2、ameabstracttetris game is suitable for all ages, which can develop the brain. the traditional tetris game is a drab, single and a bit boring game. but this tetris is based on a mobile terminal development, and players can choose the level of difficulty of the game to play it. it implements a functio
3、n that uses four blocks to make up seven kinds of graphic shapes randomly, which not only makes up for the defect of traditional squares function, but also greatly increases the interesting of the game to bring players a better game experience.the game is the combination of programming and graphics,
4、 which uses eclipse as a development environment. java is used as a programming language and the data is stored in the mysql database.keywords java; mysql; graphic technology; tetris1绪论11.1课题背景11.2课题意义11.3课题研究目的12开发环境介绍12.1硬件开发环境12.2技术介绍22.2.1 android22.2.2 eclipse22.2.3 java 语言22.2.4 mysql数据库23可行性分
5、析33.1经济可行性33.2技术可行性33.3操作可行性44系统设计44.1功能模块设计44.1游戏功能分析44.1.2游戏功能模块图44.1.3 uml 用例图54.2算法的描述和流程图64.3数据库的设计75设计实现95.1游戏设计95.1方块设计模块95.1.2方块旋转功能模块105.1.3游戏界面模块115.2模式选择125.2游戏开始功能模块125.2.2游戏设置功能模块135.2.3游戏积分统计模块146系统的调试与测试156.1系统的调试156.2系统的测试156.2测试的重要性及目的156.2.2测试的主要内容167结语18参考文献19致 谢201绪论1.1课题背景俄罗斯方块游
6、戏从产生到现在已经有25年历史了。在这期间该游戏不断优 化,推陈出新,历经25年仍旧没有被淘汰,可见其受欢迎的程度。俄罗斯方块 最早是出现在pc端的,我国的用户都是在红口机上接触并喜欢这款游戏。但随 着时代的进步,技术的更新,如今越來越多的人希望能在智能手机端上体验游 戏趣味性,因此仅在pc端是很难满足玩家的需求的。而传统手机端上的俄罗斯 方块还有很多的不足,无法给玩家带來良好的游戏体验,因此该游戏在手机游 戏市场还一直处于萎靡状态。1.2课题意义现如今的社会发展越來越快,人们的生活压力也与之俱增,面对这样的情 况,人们也越來越注重减压。而手机游戏是解决减压最简单,最低价的一种方 式。玩家只需
7、拥有一部智能手机,无需联网也无需话费,便可以体验该游戏。 玩家在游戏过程屮,游戏的难度会不断增加,这不但可以锻炼其思维的敬捷性, 还可以锻炼脑力以及操作性。除此z外,方块消行后,其积分会不断增加,游 戏体验也会不断升级,玩家的成就感也会随z不断的提高。1.3课题研究目的该游戏的冃的在于能给那些长期处于高压环境下的人们减压,使他们在身 心得到放松的同时还能够锻炼脑力,以确保其工作的效率性。另外本游戏的游 戏理念简单易懂,因此也适合小孩子在学习之余休闲放松。这一款游戏在 android手机上操作起来很便捷,玩起来很畅快,fi的是确保每一个玩家在任何 情况下都能享受到该游戏的乐趣。2开发环境介绍2.
8、1硬件开发环境cpu: i5-3230m2.6hz内存:4gb硬盘:500gb分辨率:1366*7802.2技术介绍2.2.1 androidandroid是一个基于linux的免费和开源操作系统,主要在智能移动终端的 使用,比如平板电脑和智能手机,开发商google和开放手机联盟,有独家android 软件开发工具包。该游戏是基于手机端开发的,而android手机用户在手机总用户中占极大比 例,因此该游戏主要采用的是android操作系统。android平台开放性很高,其 显著的开放性有利于后期游戏二次开发,确保游戏被推广的同时也能口益走向 成熟,从而吸引更多的玩家和厂商。另外,androi
9、d操作系统还有一个附属优势: 其丰富的硬件,跟ios系统的苹果高端机相比更加低廉,玩家可以低价购买到 心仪的android机,换而言z,玩家在各种价位的android机都能体验本游戏。2.2.2 eclipseeclipse是一个开发工具,这个工具对所有开发者开放源代码。它用于组件 插件开发环境。它附带了一个标准的插件集,包括java开发工具。主要由 eclipse项目屮,eclipse工具项目和eclipse技术项r三个项r组成。eclipse平 台是一个ide (集成开发环境),具有开放性和可伸缩性。它提供了一个构造并 运行集成软件开发工具的基础和基石。223 java语曰java是于19
10、95年由sun公司推出的一种极富创造力的面向对象的程序设计 语言。它具有可移植性、多线程与动态等多种特点。这些特点相对于其他语言 來讲就是它的优势。而该游戏设计的当初就是看重java语言的这些优势,所以 才采用了面向对象程序设计语言一java语言。此外,java语言还具有较高的安 全性,这也直接方便了该游戏后续的测试环节。2.2.4 mysql 数据库mysql是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 mysql ab公司。mysql被广泛地应用在internet上的中小型网站中。由于其 体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网 站为了降低网站总体拥有
11、成本而选择了 mysql作为网站数据库。该游戏根据实际需求选择mysql数据库,因为手机游戏数据内容有限, 不需要存储过于强大的数据库,mysql的操作简单,语法既有特色又实用,容 易上手,所需的存储容量相对其他数据库而言也较小。另外,mysql作为一个 大型数据库,在性能稳定的前提下,运行速度也是其他数据库的n倍,手机游 戏需要对用户有及时的反馈,所以反应速度在该游戏屮显得尤为重要。3可行性分析人类生活的节奏由于社会的飞速发展而变得越来越快,人类的需求也愈來 愈多。现如今的人们不仅追求物质上的满足,还注重追求精神上的满足。进而 导致手机市场的发展非常迅猛,使得手机操作系统也随z不断地换代更新
12、。现 如今主要是三种手机操作系统领先着整个市场,它们分别是微软操作系统,苹 果的ios系统以及谷歌的安卓操作系统。其屮谷歌的安卓系统凭着它本身开发 源代码的优势,在未來的市场屮有着很大的发展前景。那么好多人就设想是否 能在手机上拥有一款由自己编写的俄罗斯方块游戏呢?答案是无容置疑的,对于 这个设想,谷歌的安卓系统就能够实现。而本文所要介绍的这款俄罗斯方块游 戏就是一个基于谷歌android手机平台的程序。3.1经济可行性android手机系统是谷歌公司历经多年、耗费巨资所开发的方便快捷的手机 系统,在android平台,开发人员能以低成本进行手机游戏开发。再加上该游戏 体积小,硬件条件要求低,
13、因此安卓低价机可以轻松负担其运行,开发费用几 乎为零。除了后期推广该游戏,其他基本不需要太多的费用。因此在经济成本 这一块无太多顾虑。3.2技术可行性该游戏开发运用的是安卓框架,因为在该框架屮开发人员可以利用内部编 译软件安装安卓开发插件,此外开发人员还可以使用android模拟器或者使用 android终端对游戏进行测试,使得模拟器和真正的android手机在运行游戏上 没有太大区别。安卓系统从产生到现在己经有十多年了,安卓游戏开发技术也 口益成熟,开发人员的编程水平也足以开发本游戏。因此在技术方面同样具有 很高的可行性。3.3操作可行性该游戏的操作只需要在具有安卓系统的手机端上便可以进行,
14、因为上文已 经介绍本游戏的开发环境就是基于安卓的开发环境。再加上如今社会的高速发 展,电子市场与手机市场的高歌猛进,安卓系统的更新迭代,使得该游戏的操 作性变得更加的简单,同时也使得玩家可以更流畅,更便捷的体验俄罗斯方块 游戏的乐趣。综合经济可行性,技术可行性以及操作可行性这三个方面可得出本游戏具 有很高的可行性。4系统设计4.1功能模块设计4.1.1游戏功能分析对于俄罗斯方块游戏的功能描述如下。(1)当点击游戏app图标后,进入游戏登录欢迎界面。(2)进入游戏界面后显示的是功能选择模块:分别有游戏开始模块、游戏 设置模块和积分统计模块。(3)游戏开启模块下有以下两个小功能,分别是:游戏重新开
15、始与继续游 戏;游戏设置模式又有三个小功能,分别是:游戏背景音乐的切换功能、游戏 难度模式的选择功能和游戏的帮助说明;积分统计模块主要是一个功能,即有 一个积分排行榜。(4)游戏背景音乐的切换功能不仅可以切换当前播放的音乐还可以更改当 前游戏的音效,给玩家在听觉上制造冲击。(5)游戏的难度选择模式是根据每个玩家的竞技水平不同来设置的,对于 刚接触本款游戏的玩家可以选择简单模式來练手;而对于那些早些时候就是俄 罗斯方块的痴迷玩家來说,困难模式是他们的最佳选择。在困难模式屮方块的 下落速度是很快,这就要求玩家在很短的时间的将下落的方块放置在最合适的 位置。4.1.2游戏功能模块图根据对系统的功能进
16、行分析总结,本俄罗斯方块游戏系统的具体功能模块 包括下面的几个主要的功能模块。该系统的功能模块图如下图4-1所示。图4t系统功能模块图4.1.3 uml用例图该游戏系统可以实现的功能包括:游戏难度模式的选择、游戏背景音乐的 切换、游戏成绩的查询及其排名。游戏玩家用例图如图42所示。图4-2游戏玩家用例图4.2算法的描述和流程图该游戏的核心算法是方块变换,玩家在点击游戏开始后可以在当前下坠方 块到达底部之前对该方块进行旋转操作。方块到达底部后,玩家无法进行旋转 操作,方块到达底部时,有以下几个步骤:(1)若该方块到达底部后,若有一行满十个方块单位,则对该行进行自销 处理。(2)确认方块到达底部后
17、,游戏自动生成下一个方块,该方块的形状随机 生成。(3)方块即将到达底部时,屏幕右上方会提醒下一个方块的形状(4)新的方块下降的过程屮,又会随机生成下一个方块,并在屏幕右侧提 醒下一个方块生成的形态。该游戏的设计流程图:如下图43所示。图4-3设计流程图4.3数据库的设计该游戏根据实际需求选择mysql数据库,因为手机游戏数据内容有限,不需要存储过于强大的数据库,mysql的操作简单,语法既有特色又实用,容易上手,所需的存储容量相对其他数据库而言也较小。另外,mysql作为一个大型数据库,在性能稳定的前提下,运行速度也是其他数据库的n倍,因为手机游戏需要对用户有及时的反馈,所以反应速度在该游戏
18、屮显得尤为重要。该游戏实现了成绩查询与排行榜的功能,并运用了 mysql数据库保存了 玩家的游戏积分与排名。如表41所示。表4-1游戏信息表no字段名称字段含义类型位数备注1id主键bigint20not null2username用户名varchar100not null3password密码varchar200not null4name用户真实姓名varchar50not null5score分数int10not null6data日期varchar100not null7sound effect音效varchar100not null8back music背景音乐varchar100no
19、t null该数据库的表用e-r图来表示如图所示。图4-4 e-r图其关键代码如下。public void oncreate(sqlitedatabase db) string sql 二"create table ” + tablename + ”(”+fame varchar(50) not null,"+”score int not null,"+hdata varchar(50) not null;1+ nregistration_time varchar(50) not null“+”)”;db.execsql(sql);5设计实现5.1游戏设计5.1.
20、1方块设计模块该游戏主要是由7种方块组成,通过方块的旋转与组合使得方块在下落到底 部后可以消行得分。7种方块的形状如图51所示。图5-1方块图其关键代码如下。class t extends tetrominopublic t()t型的四格方块在游戏屮初始的位置和颜色cells0=new cell(0,4,t_color);cellsl=new cell(0,3,t_color);cells2=new cell(0,5,t_color);cells3=new cell(l,4,t_color);class l extends tetrominopublic l()l型的四格方块在游戏屮初始的位置
21、和颜色cellso = new cell(0,4,l_color);cellsl = new cell(0,3,l_color);cells2 = new cell(0,5,l_color);cells3 = new cell(l,3,l_color);5.1.2方块旋转功能模块该游戏中方块的旋转方式也是各有差异的。比如直线形的方块只有两种旋 转方式:横向的与竖向的;hi字形的就一种旋转方式;凸字形、正反z字形与 正反7字形的旋转方式都是分别有上、下、左、右四种旋转方式的。这几种方块的旋转方式如图5-2所示。图5-2方块旋转图 其关键代码如下:/j型四格方块的旋转状态states = new
22、offsetnew offset(0,0,-1,0,1,0,1,-1),new offset(0,0,0,1,0,-1,-1,-1),new offset(0,0,1,0,-1,0,-1,1), new offset(0,0,0,-1,0,1,1,1)l型四格方块的旋转状态states =new offsetnew offset(0,0,-1,0,1,0,-1,-1),new offset(0,0,0,1,0,-1,-1,1),new offset(0,0,1,0rl,0,1,1),new offset(0,0,0,-1,0,1,1,-1)消行代码public void clearline(
23、int row)for(int j = row ; j>0 ; j)for(int col = 0 ; col < 10 ; col+)if(wallj-ljcol = null )判断游戏板上每个方格是否为空walljcol = null;else if(wallj-lcol != null)walljcol = new cell(j, col, wallj-1 col.getcolor();如果不为空则将上一行的方格属性复制到下一行for(int col= 0 ; col < 10 ; col+)wall0col = null;将第一行所有方格属性设为空5.1.3游戏界面
24、模块点击游戏图标,首先进入的是登录欢迎界面,然后显示模块选择。选择开 始游戏时会提示你是继续游戏还是重新开始新游戏;选择游戏设置模式会显示 背景音乐的切换,游戏难度的选择以及该游戏的帮助说明;选择积分统计模式 会显示历史过程屮你玩该游戏的成绩,并把它们按照由高到低的顺便排列下來 以及显zjx出来o游戏界面如图53所示。5.2模式选择5.2.1游戏开始功能模块游戏开始模式:点击游戏开始模式会出现继续游戏或者开始新游戏选项; 游戏开启模式选择如图54所示。暂停返回游戏图5-4游戏开启模式选择界面其关键代码如下。private string pausedata = n返回游戏查看排行榜”;listv
25、iew.setonitemclicklistener(new onltemclicklistener()overridepublic void onitemclick(adapterview<?> parent, view view, intposition, longid)map<string , string> map =(map<stristring>)simpleadapter.getitem(position);string msg = map.get("back”);if(msg ="返回游戏”)dialog.dismiss(
26、);pausevalue = trueelse if(msg = ”查看排行榜”)5.2.2游戏设置功能模块游戏设置模式:点击游戏设置模式会出现游戏背景音乐与游戏难度选择与 游戏音效。游戏设置模式选择与帮助说明界面如图55,图56所示。基本设置开始级别入门请选择背景音乐华尔兹图5-5游戏设置模块选择界面帮助信息用手滑动u向左或向右滑动方块;2、向上滑动来歳转放块;3、向下滑动使放块快速降落;屏幕上的按键1、点击屏呆的按健来控制方块;2、点击向下按键来下落方块;3、点击向上按键采離转放块;4、点击暂停按键会提示是否車新幵始游戏;新功能1、保持按键可用;2、方块随手揭移动;3、随意控制按键井逬行配
27、置;图5-6游戏帮助说明界面其关键代码如下。public void uplevel()if(score> 100)(level = game_level1;speed = 20 ;jelse if(score >= 70)level = game_level2;speed = 350;else if(score >= 90) level = game_level3;speed = 300;else if(score >= 400) level = game_level4;speed = 250;5.2.3游戏积分统计模块积分统计模块:点击游戏的积分统计模块即会显示一个排
28、行榜。游戏积分统计模块如图57所示。排行榜【1 马成桂,8002马成桂,7603马成桂,650【4】马成桂,600_图5-7游戏积分统计模块界面6系统的调试与测试6.1系统的调试对于经常编写程序的人来说,他们心里都很明口在程序的设计与编写过程屮 出现各种奇葩的错误是很正常的。其中对于语法错误,程序在运行过程中会自 动显示出来,并提示立即纠正,所以语法错误相对而言是比较容易发现并纠正 的。但有些事情往往并不总是如你所愿的,比如由于非法操作或者思维逻辑的 错误而导致的程序出错就很难被发现。因为这种错误隐蔽性强,不会每次都出 现,所以对这一类动态发生的错误的排查是耗时费力的。这就需要我们在设计 与编
29、写程序的过程屮不断地对系统进行调试。6.2系统的测试6.2.1测试的重要性及目的(1) 重要性软件测试在软件开发过程屮地位极其重要,一个项口或者程序如果不能尽早 发现错误并及时修改,极大可能会导致最后产品成型时出现巨大漏洞。(2) 目的很多人误以为软件测试的冃的就是找bugo但我认为,软件测试的fi的是验证需求,使产品更趋近于完美,而bug只是这个测试过程屮的产品而非冃标。6.2.2测试的主要内容(1)玩家界面如表61所示。表6-1玩家界面测试界面测试测试要求测试结果主界面要求美观具有欣赏性符合选择模式图用户可以根据自己的需求选择 难易程度符合游戏界面游戏感要强且具有3d感符合(2)按键测试如
30、表6-2所示。表6-2按键测试测试键测试功能测试结果开始键游戏开启符合暂停键(字母p)游戏暂停符合退出键退出游戏符合方向键小键盘的“上、下、 左、右键方块正常移动且不111框架界而符合难度级别键可以根据设置的难度级别选择 难度符合变换键(空格键)可在方块下落过程屮按键变形符合音乐切换键可以切换背景音乐符合査看成绩键可以查询玩家的成绩与名次符合(3)其他测试表如表63所不。表6-3其他测试测试内容要求测试结果积分可靠性积分成绩与排名没有错误满足程序稳定性程序异常或崩溃概率低于5%满足用户交互性安装简单,操作便捷满足以上测试的内容基本符合该游戏所需测试的内容,同时也基本满足软件开 发的要求,因此该
31、游戏的测试宣告结束。7结语手机游戏已经成为了人们口常娱乐的重要部分,各种各样的游戏层出不穷, 手机游戏z间的竞争也越來越激烈,因此只有具备丰富并且强大功能的游戏才 能满足现如今玩家的需求。该游戏以长达一个月的用户调查为前提,对用户需 求进行了详细的分析,对市场上功能各异的俄罗斯方块游戏进行了解渗透,总 结出该游戏应具备的功能模块。在编写论文过程屮,我不断的查找资料。其屮 界面的设计、数据库的设计、代码的编写以及最后的程序调试,我都付出了不 少努力和时间,所以我能够深切的感受到完成一个毕业设计是多么的不容易。由于大学期间我主要学习的是汇编方面的课程,所以在图形技术上有很多不 足的地方,望老师谅解。以下是我认为自身设计的不足:(1)方块的美感个人觉得还稍有欠缺;(2)不能联网,只能够单机,缺乏在线pk功能;(3)游戏的流畅度方面做的还需要完善。参考文献1 李国良基于android平台的物联网物流信息系统的设计与实现m.北京: 机械工业出版社,2011:42.2 张丹蕊基于android的智能医疗管理软件设计及客户端的实现d吉林 大学硕士学位论文,2012.3 jim d'anjou,scott fairbrother,dan kehn,john kellerman,pat mccarthy.thejava developer'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)武术健身协议书
- 2025年小区共同管理协议书
- 2025年劳工施工安全协议书
- (2025年标准)公租房预约协议书
- (2025年标准)关于租赁补贴协议书
- (2025年标准)门面入伙合同协议书
- 2025年屋面防水施工协议书
- (2025年标准)公务员协议就业协议书
- (2025年标准)自己转租协议书
- XX医疗XX2023年度ESG报告:人才战略员工与企业的共赢
- 2025年第十届全国中小学“学宪法、讲宪法”知识竞赛题库
- GB/T 18051-2000潜油电泵振动试验方法
- 广告投放“冷启动期”及“ocpm起量”的底层逻辑
- 小学音乐《村晚》优质课件设计
- 竞选团支书幽默大气简短六篇
- 知名投资机构和投资人联系方式汇总
- (完整word版)教育部发布《3-6岁儿童学习与发展指南》(全文)
- 混凝土监理旁站记录
- 结肠息肉的护理查房精编ppt
- 国民头皮护理消费白皮书
- 关于人民法院刑事审判工作的调研报告
评论
0/150
提交评论