Android平台下天天爱消除游戏系统的设计与实现Word格式文档下载.docx
- 文档编号:19399080
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:32
- 大小:2.10MB
Android平台下天天爱消除游戏系统的设计与实现Word格式文档下载.docx
《Android平台下天天爱消除游戏系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Android平台下天天爱消除游戏系统的设计与实现Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
现在社会,科技发展非常迅速,移动和携带方便得到了越来越多人的重视,由于这种趋势,手机游戏也开始发展起来。
在移动平台上Android系统的占有率超过50%,因此Android手机上的游戏发展越来越好。
本论文提出一款安卓系统上的的天天爱消除游戏设计,并且对于游戏的具体开发和实现进行了详细的分析。
在游戏制作中,主要可以实现用户和手机的人机交互,使用户能够更好的参入到游戏中去。
该系统主要分为服务器端和客户端,服务器端以Java为开发语言,Eclipse为开发环境,SQLServer2008为数据管理平台,以Tomcat作为服务器,实现服务器的功能,手机端可以实现用户注册、登陆功能、游戏时间限制、游戏计分、查看排名等功能。
服务器端针对客户端发来的请求,来操作后台数据库,完成特定的功能。
游戏主要采用活泼可爱的风格,细腻、精美的画质。
整体画面看起来,让人感觉到欢乐的气氛,游戏的主角是一些很可爱的小动物,这样生动的设计也增加了游戏的乐趣。
在设计效果上,这种做法的表现方式比较清新,采用卡通形式的表现,而没有采用过于华丽的表现,使整个游戏透露着萌萌的气息。
关键词Android;
游戏;
Eclipse;
Tomcat
Abstract
Nowadays,Technologydevelopmentrapidly,Moreandmorepeoplepayattentiontomobileandportable.Asthistrendgo,mobilegameshavebeenbeginningtodevelop.Onthemobileplatform,theAndroidsystemhasmorethan50%occupancyrate,SothegameonAndroidisgettingbetterandbetter.
This
thesispresentsanAndroidsystemontheloveelimination,andmakeananalysisonitsdevelopmentandimplementation.
In
theprocess
of
game
making,
wecanrealizegoodinteractionbetweenuserandmobile,andcanenableusersabetterparticipateinthegame.
The
system
consists
ofa
server-side
and
aclient-server-side.Inserver,the
development
languageisjava,
thedevelopment
environmentiseclipse,
thedata
management
platformisSQLServer
2008,andusing
Tomcat
as
server.Itcontainsserver
features,including
mobileend
user
registration,
login,
time,
scores,
andsee
ranking
functions.Server-side
requests
from
clients,
to
operate
the
back-end
database,
performa
specific
function.
Theloveeliminationgameuselively
style,and
overall
picture
is
filledwitha
happy
atmosphere,
picturequality
relatively
delicate
andexquisite.
protagonist
set
sprout
small
animals,
sodelicate
vivid
design
details
add
a
lot
fun.
effect,
this
approachis
fresh
expressions
not
too
fancy,
butitdoesnot
use
cartoontype
presentation,
revealed
with
amiable
atmosphere
ofthe
game.
KeywordsAndroid;
Game;
Eclipse;
1绪论
1.1研究的背景
随着科技飞速的发展,现在手机的功能已经不再是简单的接打电话、收发短信了。
更多的用户希望在学习工作可以通过手机的方便灵巧和可随身携带的特性,来实现休闲娱乐。
因此,为了适应现在手机的快速发展,并且满足众多用户的需求,我们开发出一款天天爱消除游戏。
而且此游戏具有很强的交互性和娱乐性,而且还适合各层阶级人士。
尽管现在市面上的游戏版本各种各样,可是消除类游戏其市场还是有的。
因为它的特殊在于可以让用户在玩这个游戏时爱不释手。
因为这个游戏可以实现排名功能,为了让自己排名靠前,用户就会不断的玩游戏,这样对用户来说,刺激性也很强。
可以说这个游戏的优势在于它简单而且易行,只要一个手机就可以玩此游戏。
对于在外忙碌的人来说,可能不会花费很多的时间在娱乐上,所以大型游戏是基本上行不通的。
这样的小游戏就恰好与他们的需求相投。
而对于一些儿童、老人,他们也非常适合这种休闲娱乐的游戏。
人们可以在公交上、地铁上、吃饭的时候、无聊的时候玩这个游戏,借此达到休闲娱乐的效果,丰富人们的生活。
1.2系统开发内容和意义
《天天爱消除》游戏的设计与实现的主要模块有:
用户登录模块、用户注册模块、用户游戏模块和查看排名模块。
用户登录模块:
正确登录玩游戏功能、登录错误提醒功能。
用户注册模块:
用户输入正确信息成功注册、用户名已存在无法注册功能、用户信息输入不全无法注册功能。
用户游戏模块:
用户滑动手机屏幕进进行消除游戏,游戏限时功能、游戏结束跳到游戏结束查看分数功能。
查看排名模块:
查看所有用户排名及分数功能。
在如今社会,人们的学习压力、工作学习压力越来越大,生活节奏也原来越快,大多数人都没有足够时间去休闲娱乐、放松自己,这款Android手机游戏让我们可以随时随地的享受游戏,娱乐自己,让自己从繁重的生活中解脱出来,从而身心得到放松,让人的精神变得越来越好。
天天爱消除游戏的主界面美观,让人感觉赏心悦目,这样可以提高玩家对游戏的兴趣。
游戏的整个模块很容易让人理解而且容易操作,这样可以给玩家一个很好的游戏环境,放松玩家的大脑,从而达到精神放松。
让人的生活更加丰富,从而也为人的精神健康带来了很大的帮助。
1.3论文的组织结构
本论文是对系统的介绍和论述。
绪论部分主要是提出该系统开发的背景及意义,然后从系统的开发平台、系统使用的技术以及涉及的开发技术,进一步来对系统的需求进行分析以及对系统用到的数据库进行分析和设计,紧接着是对系统设计的每个模块进行详细的界面设计和代码实现,最后就是对整个系统模块的测试和测试结果进行分析。
论文的具体安排如下:
第一章:
概述系统的开发背景以及开发意义。
第二章:
介绍系统的开发平台所使用到的工具以及相关算法。
第三章:
介绍本系统的总体设计框架和功能模块,其中包括系统的需求分析、每个模块的设计还有我们对数据库的设计。
从系统希望达到的效果以及系统中处理错误信息的方式两个方面进行介绍。
第四章:
介绍系统的具体设计方案,详细的介绍界面设计以及代码算法的设计。
第五章:
测试系统的各个模块,包括功能测试和异常测试,并且针对测试所得到的结果进行分析和处理。
2系统开发工具和相关技术介绍
2.1开发工具Eclipse
Eclipse是基于Java的可扩展的开发性平台,而且它的源代码是开放的。
就Eclipse自身来说,它可以看做是一个框架或者说是一组服务,通常我们可以在Eclipse开发环境中插入一些插件组件来构建自己想要的开发环境。
不光如此,Eclipse还附带了很多标准的插件,其中包括Java开发工具。
Eclipse的平等性和一致性并不会仅仅局限在Java开发工具中。
虽然Eclipse开发环境是用Java语言所开发出来的,然而它的用途并不会仅仅用于Java语言,现在为止,它已经支持的插件有很多,如Android、PHP、C/C++等编程语言的插件已经被广泛使用。
而本论文《天天爱消除》游戏就是使用了基于Android编程语言的插件。
WebSphereStudioWorkbench,IBM公司的,是基于Eclipse的应用程序最杰出例子,它组成了IBM在Java开发工具系列中的基础部分。
例如,WebSphereStudioApplicationDeveloper增添了对于XML、servlet、Web、JSP服务和数据库访问的支持。
而本《天天爱消除》游戏的的服务器端就采用的servlet技术。
通过servlet技术来完成对数据库(SQLServer2008)的访问。
2.2服务器Tomcat
Tomcat是现在比较流行的web服务器,是一个不收费的,而且源代码开放的热门服务器。
是一个servlet容器,而且是属于轻量级的服务器。
在小型或者中型的系统或者并发访问用户不是特别高的场合使用频繁。
Tomcat部分东西是服务器Apache扩展而来,但是它自己可以独立运行也是可以,当我们运行Tomcat的时候,它实际上是作为一个Apache独立的进程,然后单独运行的。
Tomcat现在最新的版本是8.0的版本。
新增了一些功能,如特高了日志性能,当多个应用打包时,可以先打包成jar包再打成一个总的war包放在里面。
其支持servlet3.1、JavaWebSocket1.0和jsp2.3。
只需在下载Tomcat,再配置相应的环境变量,就会顺利的运行。
2.3数据库SQLServer2008
SQLServer2008是在Microsoft的数据平台上发布,可以组织和管理很多的数据。
它存储数据的类型多种多样,例如可以存储结构化文档,同时还可以存储半结构化或者无结构化的文档。
数据存入数据库中后,就可以对这些数据来进行增删改查,搜索等操作。
数据存储的设备也是多种多样的,例如可以存储在桌面计算机,移动设备,或者说是数据中心最大的服务器。
它只需要来控制数据,不用担心数据到底存储在什么地方。
SQLServer2008的优势主要为:
可信任的——使得公司有很高的可靠性、可扩展性和安全性来运行他们最关键的任务。
高效的——让公司降低开发和管理数据设施所需时间和成本。
智能的——提供全面的平台,用户需要时,发送观察和信息给他们。
3系统总体方案设计
3.1需求分析
3.1.1功能需求
1.用户注册及登录
新用户登录游戏,必须先注册用户,用户名及密码必须为6-10个字符,若注册的用户名已经存在,则提示已经存在,注册失败。
老用户用自己的用户名及密码登录成功后即可开始游戏。
2.游戏需求
游戏时间是有限制的,在游戏中,用户通过移动小动物来实现消除,消除动物都会有相应的分数,在游戏中,只要找到3个相同的小动物就能进行消除,但是如果你能够同时消除4个甚至5个相同的动物,当然就会相应获得更高的分数。
游戏刚开始为5*5的图片,当分数达到一定程度的时候,就会变成7*7的布局,当游戏继续,分数更高时,会变成9*9的布局,是游戏更具吸引力。
3.查看排名
游戏结束,跳到游戏结束界面,用户可以看到自己本次游戏得分,同时,还可以查看用户排名。
3.1.2性能需求
要求此App可以在当前主流的Android终端上稳定、流畅的运行。
3.2系统设计思想
3.2.1整体设计思想
此游戏主要分为三大模块设计,登陆注册模块、游戏模块和查看排名模块。
整体结构图如下图3-1游戏整体结构图所示:
图3-1游戏整体结构图
3.2.2登录注册模块设计
登陆注册模块主要实现登录以及注册功能。
注册的时候增加了一些限制,用户名和密码都必须为6-10个字符。
注册时候的流程图如下图3-2注册流程图所示。
登录时,字符也有限制,必须在6-10个字符。
登录的时候,如果用户名存在且密码正确,则进去游戏,如果用户名不存在或者密码错误则不能进去游戏。
登录的流程图如下图3-3登录流程图所示。
图3-2注册流程图图3-3登录流程图
3.2.3游戏模块设计
用户登录成功进去游戏后,首先会有加载游戏的动画,然后进入到游戏界面。
进入游戏后,会有时间限制,用户可以通过滑动游戏屏幕来操作游戏,如果用户滑动合法,则会触发想用的游戏位置交换特效,然后动物闪一闪消除,上面的小动物下跌下来。
当时间到了之后,进入到游戏结束界面。
用户游戏的流程图如下图3-4用户游戏流程图所示:
图3-4用户游戏流程图
3.2.4查看排名模块设计
游戏时间结束,进去游戏结束界面,游戏结束界面有本次游戏的得分,还有查看排名按钮,点击查看排名按钮后,就会看到所有用户的排名信息。
查看排名的流程图如下图3-5查看排名流程图所示:
3-5查看排名流程图
3.3数据库设计
3.3.1数据库表的设计
本系统主要由两张表构成,分别是用户信息表users和用户排名表myAllscores,其中用户信息表主要存储用户注册信息,当用户注册成功时,在用户信息表中就会增加相应的用户信息。
用户排名表主要存储局域网内的所有用户的最高分。
数据表如表3-1所示:
表3-1数据表
序号
名称
用途与约束
1
users
用户信息表
2
myAllscores
用户排名表
用户信息表中一共有两个属性,用户名userName和密码passwd,长度限制为10个字符。
其中userName为主键。
由于本游戏只需存储用户名和密码,并以此来根据用户名实现排名,对于此游戏查看用户信息暂时是不需要的,主要的还是游戏设计方面,所以不需要再增加像性别、年龄等属性。
又由于用户名必须有密码,所以密码属性也不能为空,且用户信息表如下表3-2所示:
表3-2用户信息表
字段名
字段说明
类型
长度
NULL
userName
用户名
char
10
NOT
passwd
密码
用户排名表也是包括两个属性,一个用户名userName和一个得分score,两者都不能为空。
这张表中只存储用户的最高分,也就是说如果用户如果之前最高分为200,用户又玩了一次游戏,而且本次得分160,比较本次成绩和服务器上存储的最高分,发现低于服务器上的存储的最高分,所以不去更新服务器上的分数。
如果本次成绩300分,则会去更新数据库中的分数。
用户排名表如下表3-3所示:
表3-3用户信息表
score
得分
int
4系统详细设计
4.1游戏界面设计
4.1.1注册与登录界面
进入到注册界面的时候,输入你想注册的用户名,如果不填,直接点击提交的话,系统就会提示你信息不全,请填写完整;
如果填入信息长度不在6-10个字符之内,则会提示长度不对,请重新输入,并且清除editView里面的内容;
如果该用户名已经被别人注册过了,系统会提示你用户名已经存在,并且清除editView里面的内容,你需要重新输入。
当填写信息完成后,点击提交按钮,用户填写的注册信息就会发送到服务器,然后服务器把用户信息存到数据库中。
用户注册界面如下图4-1注册界面、4-2注册字符长度不对、4-3用户名已存在、4-4注册成功所示。
图4-1注册界面图4-2注册字符长度不对
图4-3用户名已存在图4-4注册成功
在登录界面下输入你的用户名和对应的密码,这两个信息室登录必备信息,若为空系统会提示信息不全,用户名和密码填写完整后点击“登录”按钮,就会将用户提交的信息发到服务器端,服务器再将用户信息和数据库中存储的信息进行对比,若存在相应的用户,且密码输入正确,则进入游戏,若用户名不存在,或者用户名存在但密码输入不正确,则登录不上游戏,且服务器会给出相应的错误提醒;
若用户名或密码字符长度不在6-10字符之内,则系统提示字符长度不对,无法登陆游戏。
登录界面下图4-5登陆界面、4-6密码不正确所示:
图4-5登陆界面图4-6密码不正确
4.1.2游戏界面
当用户输入正确用户名和密码之后,用户就会进入游戏界面。
游戏界面主要分为两大界面。
第一个界面就是一个进入游戏的动画,类似缓冲效果的界面;
第二个界面就是正式开始游戏的界面,这个界面主要有两部分构成,第一部分是计分部分,随着用户玩游戏,分数会相应的增加。
第二部分为游戏的主要界面,也就是有7*7个小动物的界面,用户可以滑动每个小动物,来消除小动物。
进入游戏的动画如下图4-7加载游戏界面所示,游戏主界面如下图4-8所示:
图4-7加载游戏界面图4-8游戏主界面
4.1.3排名界面
当游戏结束,就会跳至游戏结束界面,并且用户可以看到本局游戏的得分。
游戏结束界面有两个按钮,一个按钮为再来一局,还有一个按钮为查看排名。
点击再来一局,就会再开始一局游戏,而点击查看排名按钮,就会看到局域网内所有玩这个游戏的用户的排名。
游戏结束界面如下图4-9所示,查看排名界面如下图4-10所示:
4-9游戏结束界面4-10查看排名界面
4.2客户端游戏详细设计
4.2.1游戏框架
本游戏是基于OpenGLES技术实现的,游戏框架并不是很难,最主要部分是一个activity,一个渲染视图和若干个渲染类对象。
游戏一共有五个包,其中在elong.CrazyLink中存放的是登陆、注册、排名界面、渲染视图、渲染类和一个常量类;
在elong.CrazyLink.Control包中存放的是一些控制类,如交换控制类、游戏加载控制类等;
在elong.CrazyLink.Core包中存放的是一个控制中心类,也就是核心控制类,将控制画面的所有动作。
除此之外,还存放着一个分数控制类,来控制分数的多少;
在elong.CrazyLink.Draw包中,存放的是画图类,如画动物的类,画交换动物的类,画分数,画加载动画等;
还有一个包就是elong.CrazyLink.Interaction包,在这个包中,只有一个类,就是用户与游戏的交互,即一个触摸滑动事件,也就是判断用户滑动动物的行为。
4.2.2加载游戏动画设计
实现游戏加载动画的原理还是不难的,由于人眼总是会有视觉暂留效果,所以如果将很多幅相近并且连贯的图片连续并且快速的播放,这样在人眼看来,就是一个连续的动作,也就是动画。
在Android中,如果需要实现播放动画效果的时候,可以通过循环调用canvas.draw方法系统方法,也可以通过调用OpenGLES中的onDrawFrame方法。
本游戏采用的是OpenGLES方法。
想要实现动画效果,就是实现GLSurfaceView.Renderer接口内的方法,最重要的就是onDrawFrame方法,这个方法大体的原理是可以开起一个线程,在这个线程中会一致调用一个onDrawFrame的方法,这样就能实现动画效果。
因此onDrawFrame的主要作用就是将不同的图片显示出来就可以了。
这里我们用十张相近的图片来显示动画效果。
当用户登录成功并开始游戏后,在onSurfaceCreated()方法中,通initTexture(gl)初始化图片素材,也就是通过一个for循环,循环10次来加载10张图片素材,这些图片素材放在一个数组中。
即loadingTextureId[i]=initTexture(gl,R.drawable.loading_01+i)。
还有CrazyLinkGLSurfaceView这个类会开启一个线程,在这个线程中,通过ControlCenter中的画图对象的控制类来控制所画图的位置、图片等参数。
在onSurfaceCreated()方法中,通过msg.what=ControlCenter.LOADING_START,
ControlCenter.mHandler.sendMessage(msg),来启动画加载动画。
由于它的控制类CtlLoading中的run方法中有一个语句mPicId++,由通过getPicId()提供给DrawLoading画图类的draw方法中的gl.glBindTexture(GL10.GL_TEXTURE_2D,textureId[control.getPicId()])调用,由此来实现画不同的图片的效果。
实现加载动画的部分图片如下图4-11图loading_01.png,4-12图loading_01.png所示:
图4-11loading_01.png
图4-12loading_02.png
4.2.3游戏触屏滑动设计
对于游戏中触屏滑动,我们在ScreenTouch类来设计,如果用户是符合条件的触摸滑动事件,就会以消息的形式通知ControlCenter类来做出相应的响应。
也就是在可以写一个onTouchEvent()方法,在这个方法中,调用ScreenTouch类中的Touch(MotionEvente)方法,将MotionEvente参数传进去。
这样游戏的触屏滑动设计就是在ScreenTouch类中实现的了。
在ScreenTouch类中,我们通过一个switch语句,来获取这个e的动作,在获取为MotionEvent.ACTION_DOWN的时候,也就是用户按下屏幕的时候来获取这个时候的坐标,然后通过MotionEvent.ACTION_MOVE来获取用户的滑动事件,并获取用户滑动的距离来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 平台 天天 消除 游戏 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)