收藏 分享(赏)

基于Android俄罗斯方块游戏的设计与实现.doc

上传人:wo7103235 文档编号:6571100 上传时间:2019-04-17 格式:DOC 页数:44 大小:754KB
下载 相关 举报
基于Android俄罗斯方块游戏的设计与实现.doc_第1页
第1页 / 共44页
基于Android俄罗斯方块游戏的设计与实现.doc_第2页
第2页 / 共44页
基于Android俄罗斯方块游戏的设计与实现.doc_第3页
第3页 / 共44页
基于Android俄罗斯方块游戏的设计与实现.doc_第4页
第4页 / 共44页
基于Android俄罗斯方块游戏的设计与实现.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、 本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 1 页 共 33 页毕 业 设 计题目:基于 Android 俄罗斯方块游戏的设计与实现本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 2 页 共 33 页摘 要随着移动平台的崛起,越来越多的传统 PC 软件被移植到移动平台,比如ipad,iphone,Android 等智能终端设备,在这些平台中,Android 占领着最大的市场份额,所以为 Android 用户开发满足日常使用的软件成为了现在的一大热门。本次设计选用了时下比较热门的 Android 平台来作为开发技术,实现了一个俄罗斯游戏系统,用户可以使用本系统来玩俄罗游戏。

2、本论文将逐步介绍基于 Android 平台的俄罗斯游戏系统的开发背景和意义,接着详细介绍了俄罗斯游戏系统的分析、设计与实现过程,最后对本论文做了总结。关键字:Android、俄罗斯游戏、SQLite、手机本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 3 页 共 33 页ABSTRACTWith the rise of mobile platforms, more and more traditional PC software is ported to mobile platforms, such as iPad, iPhone, Android and other smart te

3、rminal equipment, to occupy the largest market share in these platforms, Android, developed for Android usersmeet the day-to-day use of the software has become a favorite.The design selection of the more popular nowadays Android platform as the development of technology, a Russian game system, the u

4、ser can use the system to play the Russian game.This thesis is a step-by-step introduction to the background and significance of the development of the Russian game system based on the Android platform, and then details the the Russian game system analysis, design and implementation process, and fin

5、ally the paper summarized.Keywords: Android, Russian game, SQLite, phone本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 4 页 共 33 页目录摘 要 2ABSTRACT.3目录 41 引言 51.1 课题研究背景 51.2 国内外研究现状 61.3 课题研究方法和研究路线 71.4 论文的组织结构 72 关键技术介绍 .92.1 什么是 Android.92.2 Android 系统架构简介 .92.1.1 应用程序(APPLICATIONS) 102.2.2 应用程序框架(APPLICATION FRAMEWO

6、RK) 102.3.3 Android 运行时(RUNTIME) 102.3.4 系统库(LIBRARIES) 102.3.5 Linux112.3 SQLite 数据库 .113 系统分析 123.1 概述 .123.1.1 系统分析的原则 .123.1.2 系统分析的方法 .123.1.3 系统性能要求分析 .123.2 系统可行性分析 133.3 系统算法功能需求 143.4 系统算法与流程分析 154 系统设计 174.1 系统设计目标 174.2 系统功能模块设计 174.3 工程文件结构设计 185 系统编码开发 215.1 系统主界面 .215.2 游戏主界面 .215.3 排行

7、榜界面开发 .225.4 声音控制实现 .236 系统测试 246.1 测试的重要性 .246.2 测试的目的 .257 总结和展望 26结束语 27致 谢 28参 考 文 献 29附录 30本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 5 页 共 33 页1 引言1.1 课题研究背景Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google 与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-M

8、obile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。作为谷歌企业战略的重要组成部分,Android 将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有

9、吸引力的移动服务,并推广这些产品。1.2 国内外研究现状手机游戏产业在随着网络的发展有了长足的发展。游戏最早起源于纯文字的交互游戏 MUD;MUD 是英文 Multi-user Dungeons 的缩写。纯文字交互 顾名思义 是一纯文字的形式来进行游戏。即 所有的场景描述、物品的样子、所有人的行动、时间的描述都是用文字的方式表达的。总之 文字 MUD 是一个很需要想象力的游戏形式 需要从文字转化成玩家自己脑海中的现实场景。 随着电子元器件的发展 电子产品迅速发展。掌上游戏机和电视游戏机在 80 年代和 90 年代风靡一时 此时由苏联人 Alex Pajitnov 制作的游戏俄罗斯方块在掌上游戏

10、机和电视游戏机上流行其造成的轰动和经济价值成为游戏史上的大事。俄罗斯方块是个老幼皆宜的小游戏 它实现由四块正方形的色块组成 然后存储在一个数组的四个元素中 计算机随机产生不同七种类型的方块 根据计算机时钟控制它在一定的时间不停的产生用户根据键盘的四个方向键控制翻转、向左、向右和向下操作控制键的实现是由键盘的方向键的消息函数实现。然后程序根据这七种方块堆叠成各种不同的模型。 本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 6 页 共 33 页俄罗斯方块游戏是一个比较经典的游戏根据软件工程有关的规范以合理的开发原则设计出俄罗斯方块游戏并给人们的生活带来唯美的艺术享受和健康愉快的补充。我希望

11、通过探索去实现它从实践和实际的项目中提高自己的编程能力。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值在游戏史上是非常巨大的。这款游戏最初是由苏联的游戏制作人 Alex Pajitnov 制作的。 最终经过各种改良,俄罗斯方块的第一个 PC 版本诞生了,他们给这个游戏取了一个源于希腊文字的名字“四” (tetra)Tetris,即现在的“俄罗斯方块” 。 这种将不断掉落的各种形状的方块摆满一行将之消除的游戏,不仅风靡了当时的俄罗斯, 甚至到现在依然以其不退的热度席卷着全球。众多的游戏开发者也纷纷效仿制作出了各种新版本, 因此也使“俄罗斯方块”这款老少皆宜

12、的游戏变得越来越趣味横生。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在一些联众网络游戏中,更有一些独有的魅力 有单机作战、双人单机对战和双人网络对战三种游戏模式,三种模式都是在一行堆满后就可以消掉,最后方块堆积至窗口顶端,即告负,用户可任选一种模式进行游戏。其中单人模式是一种玩积分的游戏,如果积分高的话,还可以存入高分榜上。而双人单机对战模式则是两个人在同一台机器上进行对战游戏,双人网络对战模式则需要两人首先进行网络连接,然后才能进行对战游戏,后两种模式在游戏过程中如果自己一次消去两行以上的话,就可以送给对方使对方的行数增长,让你尽情体会对战的趣味。另外,网络对战模式还具备

13、网络聊天功能,让你在游戏过程中还能体验到聊天的乐趣,同时也给用户提供了一个展现自己高超技艺的场所。1.3 课题研究方法和研究路线本课题研究方法主要采取调查法、对比法和文献分析法。通过考察当前教学大纲、教学方案等信息,整理相关的文档。研究路线:1.列出总体框架结构,建立大模块,再细分各小模块,建立模块与模块之间的联系。2.根据自己学过的并能熟练运用的设计软件,确定开发工具,拟定采用 Visual Studio 作为前台开发工具,设计前台用户与管理人员的操作界面。3.以 SQL Server 应用软件建立后台数据库服务层,合理地处理好各数据之间的关系,发挥出 SQL Server 的功能。本 科

14、毕 业 设 计 说 明 书 ( 论 文 ) 第 7 页 共 33 页4.确定关键技术,即运用 ADO.NET 访问 SQL Server 数据库,把前台用户操作界面层与后台数据库服务层有效的联系起来,使得整个系统完整,让用户用起来更简洁方便。1.4 论文的组织结构本文详细介绍了基于 C#的教师教学管理信息系统开发之日常课程管理系统的设计、开发的全过程。从开始到程序设计的实现,将在一下的几章中予以介绍:第 1 章 绪论,这一章主要是对本次毕业设计所开发的系统进行问题的定义,通过问题的定义明白需要做些什么,并且对开发内容简单的介绍了一下;同时本章还对课题的研究背景与研究意义进行分析,对开发本系统的

15、可行性分析还有对论文各章内容的简要介绍。第 2 章 相关技术介绍,正对本次设计,对涉及到的理论知识和用到的开发工具做相关阐述。第 3 章 系统分析,主要介绍了本系统需要实现的功能模块和本系统的数据库设计、界面的详细设计等。第 4 章 系统详细设计,主要介绍了本系统的整个设计过程、设计思路以及设计中应该注意的问题。第 5 章 系统实现,主要介绍了本设计的实现环境和实现的核心代码。第 6 章 系统测试,介绍了软件测试的重要性以及测试的相关方法,还结合本系统给出测试用例。最后:致谢、参考文献。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 8 页 共 33 页2 关键技术介绍2.1 什么是

16、AndroidAndroid 是首个基于 Linux 平台的开源手机操作系统,该平台由操作系统中间件,用户界面和应用软件组成号称是首个为移动终端打造的真正开放和完整的软件。Android 一词的本义指“机器人” ,2003 年美国有一家以 Android 为名的小公司成立,开发手机平台。Google 收购 Android 之后,于 07 年 11 月 5 日发布了开源的Android 平台一款包括操作系统(基于 Linux 内核) 、中间件和关键应用的手机平台,并组建了开放手机联盟(Open Handset Alliance),包括 Google、中国移动、T-Mobile、宏达、高通、摩托罗

17、拉等领军企业。2008 年 9 月 22 日,美国运营商 T-Mobile USA 在纽约正式发布第一款 Google 手机T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用 Android 操作系统的手机。2.2 Android 系统架构简介从软件分层的角度来看,Android 平台由应用程序,应用程序框架,Android 运行时,库以及 Linux 内核共 5 部分构成。如图 6.1 所示。图 6.1 整体结构本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 9 页 共 33 页2.1.1 应用程序(APPLICATIONS)Android 平台默认包含了一系列核心应用

18、程序,包括电子邮件、短信、日历、地图、浏览器、联系人管理程序等,这些程序都以 java 程序语言编写,你也可以用自己便携的应用程序来替换 Android 提供的应用程序,这个替换的机制实际是由应用程序框架来保证的。如图 6.2 所示。图 6.2 应用层2.2.2 应用程序框架(APPLICATION FRAMEWORK)应用程序框架是我们进行 Android 开发的基础应用程序框架层包含了视图系统,内容提供器,窗口管理器,活动管理器,通知管理器,位置管理器,资源管理器,电话管理器和包管理器 9 大部分。如图 6.3 所示。图 6.3 中间件层2.3.3 Android 运行时(RUNTIME)

19、Android 虽然采取 Java 程序语言来编写应用程序,但不使用 J2ME 执行 Java 程序,而是用 Android 自有的 Android 运行时(RunTime).Android 运行时包括核心库和 Dalvik 虚拟机两部分。如图 6.4 所示。图 6.4 核心库,虚拟机2.3.4 系统库(LIBRARIES)应用程序框架是贴近于应用程序的软件组件服务,而更底层则是 Android 的函数库,这一部分是应用程序框架的支撑,其架构如图 6.5 所示。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 10 页 共 33 页图 6.5 系统库2.3.5 LinuxAndroid

20、平台是开放,采用 Linux 内核则是 Android 平台开放性的基础。Android 平台中的操作系统采用了 Linux2.6 版的内核,它包括了显示驱动、摄像头驱动、Flash 内存驱动、Binder(IPC)驱动、键盘驱动、wifi 驱动、Audio 驱动以及电源管理部分。Linux 内核层为我们在软件层和硬件层建立了一个抽象层,使得应用程序开发人员无需关心硬件细节。对于手机的开发商而言,如果想要 Android 平台运行到自己的硬件平台上就必须通过对 Linux 层进行修改,通常要做的工作就是为自己的硬件便携驱动程序。2.3 SQLite 数据库Android 采用 SQLite 这

21、个轻量级数据库工具来管理数据;SQLite,是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。它能够支持Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java 等,还有 ODBC 接口,同样比起 Mysql、PostgreSQL 这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite 第一个 Alpha版本诞生于 2000 年 5 月。 至今已经有 12 个年

22、头,SQLite 也迎来了一个版本 SQLite 3 已经发布。SQLite 实现了多数的 SQL-92 标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID) ,触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。多个进程或线程可以同时访问同一个数据而没有问题。可以同时平行读取同一个数据库。但同一时间只能有一个进程或线程进行数据写入;否则会写入失败并得到一个错误信息(或者会自动重试一段时间,而这重试时间的长短是可以设置的) 。程序设计者还提供了一个

23、叫做 sqlite3 的独立程序用来查询和管理 SQLite 数据库文本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 11 页 共 33 页件。SQLite 的用户可以把这个程序当作如何写 SQLite 应用程序的示例。3 系统分析3.1 概述系统分析是在总体规划的指导下,对某个或若干个子系统进行深入仔细地调查研究,确定新系统逻辑功能的过程。这一阶段的主要任务是由系统分析员了解每个业务流程,工作流程,广大用户的需求,运用系统开发理论、开发方法和开发技术设计出一个计算机化的信息系统。3.1.1 系统分析的原则在系统分析中存在很多困难,为了克服困难,做好分析工作,在进行系统分析时应遵循系统

24、分析的原则,这样才能保证分析工作能够顺利进行,系统分析的原则有:1.逻辑设计与物理设计分开的原则2.面向用户的原则3.结构化分析的原则通过实际调查并分析交流后,分析俄罗斯方块游戏系统的具体的要求,确定本手机系统的逻辑功能,以满足用户的各项要求,完成相应的各项功能,提高系统的实用水平。在近期目标完成后,该系统应该有很强的扩充性,便于在此基础上进行扩充式开发,为以后的发展及扩充打好基础。 3.1.2 系统分析的方法该系统采用以抽象和分解为手段,并且采用结构化分析方法进行系统分析,根据实际调查研究,对系统进行自顶向下的逐层分解,逐步细分,逐步求精,建立新系统的逻辑模型,这个逻辑模型将尽可能避免使用计

25、算机术语,让其尽可能的简单化、通俗化,便于设计者和浏览者的沟通与交流经验。结构化分析方法的基本思想是该系统采用结构化分析方法,以抽象和分解为手段,对系统进行自顶向下的逐层分解,逐步细分,逐步求精,从而达到易于理解的目的。3.1.3 系统性能要求分析为了保证系统能够长期、安全、稳定、可靠的运行,系统应满足以下性能要求:本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 12 页 共 33 页(1)系统处理的准确性与及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,充分考虑当前和将来可能承受的工作量,使系统的处理能力和相应时间能够满足信息处理的要求。 (2)系统的可扩充

26、性及可维护性,系统的开发过程中,应该充分考虑以后的可扩充性 相当于升级。当今企业对系统的可维护性也有了相当高的关注。例如添加新功能。所以本系统采用了 CS 开发模式,大幅提高了系统的可扩展性及可维护性。 (3)系统的可兼容性,考虑到目前 Android 版本众多、设备众多,所以设计出的程序必需要求可以兼容各个主流版本。(4)系统的可靠性, 可靠性是保证系统正常工作及抗故障、抗干扰的能力,它包括:保证系统正常工作的能力;对系统故障的预防、检测以及自动纠错的能力;出现故障时,保证系统不发生崩溃,并使系统重新恢复、重新启动的能力等安全性是保证合法用户能够正确使用信息系统,并防止非法用户访问信息系统的

27、能力适应性是信息系统对外部环境和需求变化的适应能力 3.2 系统可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是对进行了一次较大压缩简化后的系统进行分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。经济可行性目标系统开发经济需求的比较低,加上具有成熟的 Android 平台以

28、及十分普及手机设备,所以在软硬件的支出上十分有限。而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发成后,通过测试和、试运行和实际应用后,将很大程度上提高移动公交查询系统的科学性和高效性,在为人们带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 13 页 共 33 页想和软件开发流程,为从事软件开发工作打下很好的基础,从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。技术可行性本系统使用 Android

29、 技术进行开发,发展到现在,Android 已经算是一个较成熟的平台了,现在有越来越多的企业及技术人员选择它作为开发平台。因此,在技术上.NET 是完全可以胜任这个平台的开发。Android 开发平台是由谷歌与开放手机联盟合作开发的一个开放、自由的移动终端平台,它由操作系统、中间件、应用软件三部分组成。该平台备有完善的程序开发环境,包括模拟器、除错工具、程序执行所耗用存储器、性能评介等功能。操作可行性本系统用户只要有一台 Android 手机,就可以使用了,系统是由的操作都是用户熟悉的选择框或者按钮等等。所有的操作通过手机就可以完成, ,用户不需培训,只要稍微提示一下即可。因此,在操作使用上,

30、本系统简单、方便,易于使用户接受,因而是十分可行的 3。法律可行性由于本系统是在相关法律法规下实施完成的,所以不存在任何法律问题,在法律上是完全可行的。综合考虑经济、技术、操作和法律等方面的因素,该系统可以立即开始进行。3.3 系统算法功能需求对于俄罗斯方块,其功能描述如下:1游戏区域上方不断地出现预定义形状的方块,下坠方块可以通过旋转改变其显示形状,并且不断地往下坠,直到它接触到游戏区域底部或者其他之前已经累叠起的下坠方块。2当一个下坠方块到达游戏区域底部或者接触到其他之前已经累叠起的下坠方块后,其位置则确定下来并占有该空间的位置区域。当游戏区域的某一行被下坠方块完全填充,则消除该行的所有下

31、坠方块,垒在其上的方块将按照一定的算法掉下代替改行空间。3游戏的结束是以下坠方块的顶部到达游戏区域顶部作为判断依据。4另外,在游戏区域产生一个新的方块的一瞬间,立即产生下一个下坠方块的形状并在提示区域的左上方有预先提示。同时,在游戏界面的右下方,将显示玩家本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 14 页 共 33 页所得的分数和游戏的级别。每当游戏玩家成功消除一行方块时,将按照一定的算法计算出所得分数,并修改游戏状态区域的分数的数值,达到一定的分数将修改游戏的级别。功能需求如表格 3-1 所示:功能 简介顺时针旋转 顺时针旋转转块逆时针旋转 逆时针旋转转块绘制转块 指定画板上绘

32、制转块擦除矩形 指定画板上擦除矩形左移动 左移动转块右移动 右移动转块下移动 下移动转块丢下砖块 在画板上丢下砖块计分 根据玩家消去的行数计分表 3-1 系统功能需求游戏界面需求, 良好的用户界面有提示显示和分数显示。将整体界面分为三部分,左侧半部分用来存放俄罗斯方块是游戏的活动区用户操作的图形变化在这个主界面区完成。右上侧部分显示下一次要产生的俄罗斯方块形状,以便用户预先知道,增加游戏的可玩性。右侧下半部分用来显示用户的分数和当前等级以便让用户有成就感增加可玩性。3.4 系统算法与流程分析对于方块在某一瞬间的位置标识 我们采用一个 42 的小数组标识出来,即用4 个存储单位空间存储当前下坠物

33、的每一子块的位置 也就是说 用 4 个存储单位空间存储当前下坠物的每一子块的位置来对整个下坠物件的位置进行标识 而每个存储空间的大小就是一个典的坐标值(x,y),而每个方块按照从左到右的方式进行编号,如图 3-2:本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 15 页 共 33 页图 3-2 并且在编号过程中对于同一列的方块实行从上到下进行编号方块表示方法 即四个小方块的坐标设定,其中一个方块是原点坐标为(0,0) 右侧方块坐标(1,0),下面的方块坐标(0,1)以此类推。从开始判断是否到底底部,到达则做销行操作,然后生成下一个下坠物 将新的下坠物代替旧的下一个下坠物,将旧的下坠物当

34、做当前的下坠物下到底部判断是否做销行操作,然后判断游戏是否结束,未结束则继续新一轮的生产方块,若方块达到了顶部,占满了空间则游戏结束。流程图如图 3-3 所示本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 16 页 共 33 页显示方块于屏幕中检查方块在屏幕上是否有阻碍发生游戏开始游戏结束产生控制方块下降的执行信息1 检查满行。2 删除满行。3 重新装载方块。移动方块方块移动时是否有阻碍接受按钮的控制信息方块是否无法下移是否否是否是图 3-3 游戏规则流程图4 系统设计 4.1 系统设计目标在系统分析的基础上,设计出能满足预定目标的系统的过程。系统设计内容主本 科 毕 业 设 计 说

35、明 书 ( 论 文 ) 第 17 页 共 33 页要包括:确定设计方针和方法,将系统分解为若干子系统,确定各子系统的目标、功能及其相互关系,决定对子系统的管理体制和控制方式,对各子系统进行技术设计和评价,对全系统进行技术设计和评价等。本系统是设计目标是建立一个基于 Android 的俄罗斯方块游戏软件,基本可以的满足人们对游戏的需求,系统具有上手简单、操作方便快捷的特点。用户界面友好、操作简单,每一步骤的操作都经过精心的设计,将复杂的统计运算过程隐藏于简单的操作之下,系统的设计能降低使用前的培训、实施和使用中的维护时间。通过合理而先进的网络设计及软、硬件的优化选型,足可保证系统的可靠性与容错性

36、。系统以用户需求为目标,以方便用户为原则,处处为使用者着想。 4.2 系统功能模块设计本系游戏分主界面、游戏界面、帮助界面和排行榜界面,而游戏模块中又可以分为游戏规则控制模块、游戏暂停/开始控制模块等等,系统的功能模块架构设计如图 4.1 所示:图 4.1 系统功能模块图本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 18 页 共 33 页4.3 工程文件结构设计在程序开发阶段,首先确定“即 Android 的俄罗斯方块游戏”的工程名称为 Tetris,根据程序模块设计的内容,建立 Tetris 项目, Tetris 项目 ,的文件结构如图 4.2 所示:图 4.2 工程结构图为了使代

37、码文件结构更加清晰, Tetris 工程设置了多个命名空间,分别保存了用户界面、数据适配器、常用类库和实体多个包,源代码的名称以及说明如表 4.3 所示:本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 19 页 共 33 页包名称 文件名 说明com.miebo.android.tetris.activity MainActivity.java 主界面视图com.miebo.android.tetris.activity GameActivity.java 游戏主界面视图com.miebo.android.tetris.activity HelpActivity.java 操作帮助界面

38、视图com.miebo.android.tetris.activity RankActivity.java 排行榜界面视图com.miebo.android.tetris.activity RankDatabase.java 数据库服务com.miebo.android.tetris.activity RefreshHandler.java 游戏控制com.miebo.android.tetris.activity TetrisView.java 游戏规则控制类com.miebo.android.tetris.activity DrawTool.java 绘制类表 4.3 系统代码结构Andr

39、oid 的资源文件保存在/res 的子目录中。其中、 /res/anim 目录中保存的是产生动画效果的 XML 文件,/res/drawable/ 目录中保存的是图像文件,/res/values 目录中保存的是用来自定义字符串和颜色的文件,/res/xml 目录中保存的是 XML 格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件的用途可以参考表 4.4:资源目录 文件名 说明Drawable btn_comm_selector.xml 按钮资源文件layout_main.xml 主界面布局文件Layout_help.xml 操作帮助文件Layoutlayo

40、ut_rank.xml 排行榜布局文件menu main_menu.xml 文件管理上下文菜单布局文件styles.xml 样式资源文件colors.xml 颜色资源文件valuesstrings.xml 字符串资源文件表 4.4 资源文件名称及用途本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 20 页 共 33 页5 系统编码开发5.1 系统主界面该界面为用户一进入俄罗斯游戏系统第一个看到的界面,该界面通过LinearLayout 和 RelativeLayout 等布局组件来实现控件的布局,本界面涉及到的组件包括 Button、CheckBox 等。 该界面主要包括的按钮有继续上

41、次游戏、新游戏、帮助、排行榜和退出等,选择不同的按钮可以进入不同的界面,例如选择“新游戏”可以开始一个新的游戏。同时该界面也包含了一个声音开关按钮,用户可以通过该按钮来控制是否播放声音。具体的实现效果如图 5.1 所示:本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 21 页 共 33 页图 5.1 游戏主界面5.2 游戏主界面当用户在系统主界面选择“新游戏”或“继续上次游戏”后,系统会自动跳转进入本界面,该界面即为游戏控制界面,玩家可以在本界面玩游戏。游戏规则是系统上方会不断下落各种形状的方块,玩家不断拼凑组合使方块有规则地组合起来,并由此获取分数的递增,当分数达到一定要求时,系统会

42、自动把当前等级提高一级,越高级方块下落的速度会也快,游戏的难度也因此会增加。具体的实现效果如图 5.2 所示:图 5.2 游戏控制主界面5.3 排行榜界面开发在该界面用户也可查看到游戏排行榜信息,排行榜数据是存储到 SQLite 数据库当中的,SQLite 为 Android 系统自带并完全支持的小型数据库,特别适用于嵌入式设备当中。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 22 页 共 33 页具体的实现效果如图 5.3 所示:图 5.3 排行榜界面5.4 声音控制实现为了给玩家移动方块提供声音提醒功能,系统需要实现声音文件的播放,这一过程是通过 Android 系统提供的 M

43、ediaPlayer 接口来实现的。当一个 MediaPlayer 对象被刚刚用 new 操作符创建或是调用了 reset()方法后,它就处于 Idle 状态。当调用了 release()方法后,它就处于 End 状态。这两种状态之间是 MediaPlayer 对象的生命周期。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 23 页 共 33 页6 系统测试6.1 测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都

44、应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的 40以上。而在软件开发的总成本中,用在测

45、试上的开销要占 30到 50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。 在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括: (1)认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; (2)以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定; (3)测试工作枯燥无味,不能引起人们的兴趣; (4)测试工作是艰苦而细致的工作; (5)对自己编写的程序盲目自信,在发现

46、错误后,顾虑别人对自己的开发能力的本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 24 页 共 33 页看法。 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。 6.2 测试的目的 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 在谈到软件测试时,许多人都引用 Grenford J. Myers 在The Art of Software Testing一书中的观点: (1)软件

47、测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误; (3)一个好的测试用例是在于它能发现至今未发现的错误; (4)一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的

48、有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 25 页 共 33 页7 总结和展望本系统较完整的实现了基于 Android 的俄罗斯方块游戏系统的设计与实现基本功能。完成了基本的俄罗斯游戏控制功能。从本系统的开发过程中,我受益匪浅。首先,我认识到了代码规范的重要性,特别是在一些大型项目中,用到的函数可能有数百个,如果编写的代码不规范会给后期的检查带来极大的麻烦。而且完整的代码测试也非常重要,有些错误可能在很久以后才能发现。其次,我意识到了软件设计的重要性,原来接触的项目往往是快速开发类型的,几乎不需要在

49、软件的逻辑设计上花费太多时间,往往可以边开发边进行下一步的设计。但是这一次我意识到做软件设计很重要,当初一个设计没注意,可能造成后来的编码大面积的返工。最后就是调试方法的重要性,系统的调试过程要比开发过程繁琐的多。每个操作、每次向服务器提交请求,其实都包括了很多小段代码的执行,如果不能够采用正确的调试方法,就很难找出程序中的错误。系统开发过程中主要遇到了下列问题:忽略了每次向服务器提交请求后客户端页面都将重新加载的情况,以致无法将预期的数据提交到服务器。与当今市场上已有的系统相比,本系统没有做到像它们一样适合各种各样的用户,而只是适合小型企业用户,适用范围较为局限,这是本系统的有待改进之处。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 26 页 共 33 页结束语这次毕业设计的时间虽然不算太长,但使我对很多东西有了更深刻的认识。总结如下:查阅资料和阅读相关文献的重要性。向老师和同学请教的重要性。勤动手的重要性,在以前我总是有“只学不练”的倾向,导致动手能力得不到提高,在这次的一次次编写代码、调试代码的过程中,我才明白“代码不是写出来的,是调出来的”的道理。对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报