软件综合实习.docx
- 文档编号:23524996
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:36
- 大小:905.54KB
软件综合实习.docx
《软件综合实习.docx》由会员分享,可在线阅读,更多相关《软件综合实习.docx(36页珍藏版)》请在冰豆网上搜索。
软件综合实习
软件综合实习课程报告
题目:
基于Android平台的俄罗斯方块的开发
姓名:
学号:
院(系):
专业:
指导教师:
2015年10月
摘要1
第一章引言3
§1.1课题研究背景3
§1.2国内外研究现状...........................................................................................................3
第二章Android项目介绍5
§2.1什么是Android?
5
§2.1.1Android简介5
§2.1.2AndroidFeatures特性5
§2.1.3Android基本框架(AndroidArchitecture)6
§2.1.4Android系统的四大组件8
§2.1.5SQLite数据库9
§2.2Android开发环境搭建10
第三章需求分析16
§3.1需求概括16
§3.2设计目标17
§3.3运行环境及设计环境18
第四章开发概述18
§4.1功能概述18
§4.2操作介绍18
§4.3游戏运行流程图20
第五章游戏策划及设计20
§5.1游戏策划20
§5.2游戏设计21
§5.3呈现技术21
第六章游戏架构21
§6.1游戏模块构成图21
§6.2游戏概要设计图22
第七章游戏中各个类中实现的功能24
§7.1游戏的左、右、下的移动功能和上的变形功能的实现24
§7.2游戏显示模块26
§7.3游戏速度模块27
§7.4游戏积分模块27
第八章结言29
参考文献..........................................................................................................................................30
摘要
在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。
现在谷歌的Andriod系统,苹果公司的IOS系统以及微软的windowsphone系统是占市场份额最大的三个手机系统。
这次设计我选择基于Andriod的手机游戏一定会使我们在以后的工作中提供更多的机会。
随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。
而基于Andriod的软件开发是一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到实际中软件开发的过程,提高我们的专业能力,最终能够获得很强的专业知识。
Android是运用java编程语言编写的应用程序。
然而,Java编程语言不仅仅用于编写Web上娇小可爱的娱乐性小应用程序。
通用的、高级Java编程语言也是一个功能强大的软件平台。
使用丰富的API,你可以写多种程序。
因此,Android也具有java语言的特点。
如果你已经学习过java,你或许已经熟悉了java编程语言特点,那么对于Android编程就会更容易掌握。
关键词:
Android手机游戏,Android平台,Java技术,游戏设计。
Abstract
Intheglobalinformationtechnologytoday,mobilephonehasbecomeindispensableinthedailylifeofapart,especiallyinelectronicproductschangerapidlytoday,weusuallycanbeseeneverywhereintheelectronicproducts,mobilephoneisundoubtedlyoneofthelargestusersets,andmajormanufacturersofintelligentmobilephonewillstillbeelectronicmarketadazzlingstar.NowGoogle'sAndriodsystem,theAppleCorp'sIOSsystemandMicrosoft'swindowsphonesystemisthethreelargestmarketshareofmobilephonesystems.ThistimegraduatethedesignwechoosebasedontheAndriodmobilephonegameswillmakeourworkinthefuturetoprovidemoreopportunities.Withthenewtechnologydevelopmentandapplication,inrecentyearsthedevelopmentofJavatechnologyisveryrapid,aJavaapplicationoftideofnewtechnologyrevolutionisbooming.Andriodbasedsoftwaredevelopmentisagreatprospectoftechnology,throughthisgraduationdesign,canmakeusfromonthesoftwaredesignoftheactualsoftwaredevelopmentprocess,improveourprofessionalskills,canfinallyobtainstrongprofessionalknowledge.
Keywords:
Androidmobilephonegames;theAndroidplatform;Javatechnology;gamedesign
第一章引言
§1.1课题研究背景
Android是Google开发的基于Linux平台的开源手机操作系统。
它包括操作系统、用户界面和应用程序—移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
Android操作系统最初由AndyRubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。
Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
作为谷歌企业战略的重要组成部分,Android将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。
全球为数众多的移动电话用户正在使用各种基于Android的电话。
谷歌的目标是让(移动通讯)不依赖于设备甚至平台。
出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:
通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2014年的第四季度,Android平台手机的全球市场份额已经达到81.5%。
§1.2国内外研究现状
手机游戏产业在随着网络的发展有了长足的发展。
游戏最早起源于纯文字的交互游戏MUD;MUD是英文Multi-userDungeons的缩写。
纯文字交互,顾名思义,是一纯文字的形式来进行游戏。
即,所有的场景描述、物品的样子、所有人的行动、时间的描述都是用文字的方式表达的。
总之,文字MUD是一个很需要想象力的游戏形式,需要从文字转化成玩家自己脑海中的现实场景。
随着电子元器件的发展,电子产品迅速发展。
掌上游戏机和电视游戏机在80年代和90年代风靡一时,此时由苏联人AlexPajitnov制作的游戏俄罗斯方块在掌上游戏机和电视游戏机上流行其造成的轰动和经济价值成为游戏史上的大事。
俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。
俄罗斯方块是个老幼皆宜的小游戏它实现由四块正方形的色块组成,然后存储在一个数组的四个元素中,计算机随机产生不同七种类型的方块。
根据计算机时钟控制它在一定的时间不停的产生用户根据键盘的四个方向键控制翻转、向左、向右和向下操作控制键的实现是由键盘的方向键的消息函数实现。
然后程序根据这七种方块堆叠成各种不同的模型。
众多的游戏开发者也纷纷效仿制作出了各种新版本,因此也使“俄罗斯方块”这款老少皆宜的游戏变得越来越趣味横生。
对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在一些联众网络游戏中,更有一些独有的魅力――有单机作战、双人单机对战和双人网络对战三种游戏模式,三种模式都是在一行堆满后就可以消掉,最后方块堆积至窗口顶端,即告负,用户可任选一种模式进行游戏。
其中单人模式是一种玩积分的游戏,如果积分高的话,还可以存入高分榜上。
而双人单机对战模式则是两个人在同一台机器上进行对战游戏,双人网络对战模式则需要两人首先进行网络连接,然后才能进行对战游戏,后两种模式在游戏过程中如果自己一次消去两行以上的话,就可以送给对方使对方的行数增长,让你尽情体会对战的趣味。
另外,网络对战模式还具备网络聊天功能,让你在游戏过程中还能体验到聊天的乐趣,同时也给用户提供了一个展现自己高超技艺的场所。
现在Android手机游戏的兴起又将重新掀起这股让人沉迷的俄罗斯方块风潮。
对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在"Android俄罗斯方块"中,更有一些Android游戏所独有的魅力――更加方便简单的操作模式,用户可在任意的地方任意时间进行游戏。
俄罗斯方块游戏是一个比较经典的游戏根据软件工程有关的规范以合理的开发原则设计出俄罗斯方块游戏并给人们的生活带来唯美的艺术享受和健康愉快的补充。
我希望通过探索去实现它从实践和实际的项目中提高自己的编程能力。
第二章Android项目介绍
§2.1什么是Android?
§2.1.1Android简介
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟(OpenHandsetAlliance)开发。
它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。
低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。
另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。
Android在未公开之前常被传闻为Google电话或gPhone。
大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。
到了2010年1月,Google开始发表自家品牌手机电话的NexusOne。
目前最新SDK版本为Android5.0。
§2.1.2AndroidFeatures特性
Android系统有如下的几大特性:
·应用程序框架支持组件的重用与替换;
·Dalvik虚拟机专门为移动设备做了优化;
·内部集成浏览器该浏览器基于开源的WebKit引擎;
·优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES;
·SQLite用作结构化的数据存储;
·多媒体支持,包括常见的音频、视频和静态印象文件格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF);
·GSM电话(依赖于硬件);
·蓝牙Bluetooth,EDGE,3G,andWiFi(依赖于硬件);
·照相机,GPS,指南针,和加速度计(依赖于硬件);
·丰富的开发环境,包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件。
§2.1.3Android基本框架(AndroidArchitecture)
图2.1AndroidArchitecture
(1)Applications
ApplicationAndroid会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是用JAVA编写的。
(2)ApplicationFrameWork
开发者完全可以访问核心应用程序所使用的API框架。
该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
该应用程序重用机制使得组建可以被用户替换。
所有的应用程序都由一系列的服务和系统组成,包括:
·可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至包括一个可嵌入的web浏览器
·内容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
·资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layoutfiles)。
·通知管理器(NotificationManager)使得应用程序可以在状态栏中显示客户通知信息。
·活动类管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
(3)Libraries库
Android包括一个被Android系统中各种不同组件所使用的C/C++库集。
该库通过Android应用程序框架为开发者提供服务。
以下是一些主要的核心库:
系统C库-一个从BSD继承来的标准C系统函数库(libc),专门为基于embeddedlinux的设备定制。
媒体库-基于PacketVideoOpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
SurfaceManager-对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。
LibWebCore-一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。
SGL-一个内置的2D图形引擎3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
FreeType-位图(bitmap)和向量(vector)字体显示。
SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
(4)AndroidRuntime
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik是针对于同时高效地运行多个VMs来实现的。
Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。
该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。
(5)Linux内核
Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。
老牌智能手机软件平台制造商Symbian发言人则表示:
Google的android只不过是另一个linux,symbian对其它软件与其形成的竞争并不感到担心。
除了北美之外,Symbian在其它地区智能手机市场都占有大部分市场份额。
与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。
但其最震撼人心之处在于Android手机系统的开放性和服务免费。
Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。
Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。
谷歌移动平台主管安迪·鲁宾(AndyRubin)表示,与软件开发合作伙伴的密切接触正在进行中。
从去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建“开放手机联盟”,其成员超过30家。
§2.1.4Android系统的四大组件
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。
下面分别介绍四大组件:
(1)Activity简介
在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。
多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。
Activity有自己的生命周期,由Android系统来控制。
(2)Service简介
顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。
一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过
(3)BroadcastReceiver简介
BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。
到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。
我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent。
(4)ContentProvider简介
ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。
它是跨应用程序共享数据的唯一方法。
Android为常用的数据类型(如:
音视频、图片和联系方式等)提供了大量的ContentProvider。
它们被定义在android.provider包下面。
通过这样定义好的ContentProvider我们可以方便的进行数据操作。
当
然我们必须拥有适当的权限。
我们也可以自己来定义ContentProvider共享我们的数据,方便用户的访问。
§2.1.5SQLite数据库
Android采用SQLite这个轻量级数据库工具来管理数据;
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月。
至今已经有12个年头,SQLite也迎来了一个版本SQLite3已经发布。
SQLite实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。
不进行类型检查。
你可以把字符串插入到整数列中。
例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。
其他用户认为这是主要的缺点。
多个进程或线程可以同时访问同一个数据而没有问题。
可以同时平行读取同一个数据库。
但同一时间只能有一个进程或线程进行数据写入;否则会写入失败并得到一个错误信息(或者会自动重试一段时间,而这重试时间的长短是可以设置的)。
程序设计者还提供了一个叫做sqlite3的独立程序用来查询和管理SQLite数据库文件。
SQLite的用户可以把这个程序当作如何写SQLite应用程序的示例。
§2.2Android开发环境搭建
1.安装JDK
下载jdk-7u25然后安装,选择默认位置安装即可
默认安装C:
\ProgramFiles\Java\jdk1.7.XXX
2.配置jdk
安装完成以后,在桌面右键点击“我的电脑”,选择“属性”,出现以下界面
然后选择“高级系统设置”,选择“环境变量”新建系统变量:
变量名和变量值按照上面的,对于路径的选择最好打开电脑中的路径后复制过去,防止输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 综合 实习