聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> android课程设计论文

android课程设计论文

时间:2011-07-04 16:52:30    下载该word文档

Android是基于Linux开放性内核的操作系统,是Google公司在2007115日公布的手机操作系统早期由原名为Android的公司开发,谷歌在2005年收购Android.Inc后,继续进行对Android系统开发运营,它采用了软件堆层的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。

2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。

在经济萧条的年代,世界各地赌博业却异常兴旺,因而许多投币如扑克牌机(俗称耗子机)、跑马机、高尔夫弹珠机等比比皆是,一度取代了健康的娱乐业。直到三十年代,美国兴起了对抗竞技的模拟游戏,其中模拟枪战的独臂强盗游戏机大受欢迎。此后,模拟各种体育运动(比如打靶、篮球)的游戏机也相继出现在娱乐场。

从十九世纪末到二十世纪五、六十年代,投币游戏机大都属于机械或简易电路结构,游戏者也是青年、成年人居多,场合仅限于游乐场,节目趣味性较差,而且内容单一。但与此同时,随着全球电子技术的飞速发展,战后的1946年出现了第一台电子计算机,其技术成就渗透到各个领域,一个娱乐业革命也在酝酿之中。

在这两个大的背景下,综合本学期的学习,开发一款基于android环境的老虎机游戏,熟练掌握android应用开发。本文以android老虎机游戏开发过程为背景,全文分为目录、需求分析、总体设计、详细设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。采用结构化的功能模块设计游戏功能,可读性好,易于扩充。基本功能全面,系统可读性好,易于维护、更新,安全性好。


1 需求分析

1.1 游戏描述

android环境下开发一款老虎机游戏。游戏实现简单的投币,押注,退币等操作。首先启动游戏以后,会有一个界面,界面分成了两个部分,一个是游戏区,一个是操作区,游戏区有12张图片,12张水果图片,当游戏开始时,游戏区会有一个方块转动,最后会停下,按照停的位置以及在该位置的图片的押注情况给与奖励。操作区有13个按钮,一个开始按钮,用来命令系统游戏开始,一个是投币按钮,当然是用来投币,如果系统中没有金币余额,或者说还没有投币,游戏是不能进行的。相应的有退币和退出按钮,分别对应退出金币和退出游戏功能,另外9个水果的选项,点击它们,代表对它们进行押注,一次投一注。有了押注后游戏就可以开始了。

1.2 功能分析

投注功能:每次投入一个硬币,相应的会增加10个金币,用来押注。

退币功能:玩家不想继续游戏时,可以选择退币,金币:硬币=101,也就是说退出来的硬币的数目跟金币的比值是110,如40个金币,相应的会退40/10=4个硬币。

游戏开始:当有押注时,便可以执行游戏开始命令。

退出功能:当硬币已经退出了以后,可以选择退出按钮,退出游戏。

押注功能:有9个选项用来给玩家进行选择。

1.3 进度安排

根据游戏的需求分析,可以对开发过程进行如下安排,第一阶段对整个游戏界面进行设计,也就是布局,第二阶段对游戏功能进行完善,第三阶段对游戏软件进行测试,并扩展。在这个过程中,时刻做到用需求来规范设计行为。

1.4 开发环境

软件:

JDK 1.6 ;

Eclipse Ganymede 3.5 ;

Android SDK 2.2 ;

ADT0.9.7 ;

Windows XP ;

硬件:

Intel(R) Core(TM)2 Duo CPU E7500 @2.93GHZ ;

z.93GHz, 19.6GB 的内存物理地址扩展


2 总体设计

2.1 任务与目标

设计实现思路,构建整体框架,完成设计模型。

2.2 设计思路分析

此款游戏是个单机游戏,移植到基于android平台的手机上,首先应该具有稳定性,能够保障玩家在玩的过程中不会出现意外的bug,另外比较重要的就是界面的美观性,要把界面做的美观,这是玩家使用此款游戏的一个大的吸引点。界面要根据平台的整体大小进行设计,让布局比较合理,在空间感官上比较良好。

2.3 游戏结构设计

2.3.1总模块设计

首先进行总模块的设计,按照之前的需求分析,可以把这个游戏分成两大块,转盘区和操作区,由此可得总模块设计(图2.1)。

2.1 游戏总模块结构图


2.3.2 子模块设计

有了总模块结构之后,可对子模块进行设计,按照总模块图,游戏设计包含了两个大的部分,一个是转盘区,一个是操作区。转盘区模块设计图如图2.2所示。

2.2 转盘区模块结构

其中背景模块,我是用了一张图片做为整个游戏界面的背景,并配有背景音乐,让玩家能够在欣赏到优美的画面的同时,体验到紧张的游戏气氛,让玩家能够更兴奋,能够玩的更开心。

而转盘布局,因为是基于android平台,所以我特别的利用了这个平台的优势,我是将事先准备好的图片通过编码的形式,把图片通过线程,不断地画在整个游戏界面上。

背景相对于转盘布局来说还是比较容易的,在做转盘布局的时候,我开始是以一种定性的思维,就是想通过main.xml这种形式把每个图片画出来,从理论上,我已经突破了技术难关,但是在设计完后面,发现这样不行,然后改用线程,不断的通过线程把图片一张张画出来。

在画图片的时候,就要计算图片的大小,长短以及宽度,要把图片精确的放到指定的位置,而不应该与其他的图片发生重合,或者画出了边界。

进行了初步的构架,整个框架应该如图2.3所示。

2.3 转盘区模块结构图

通过上面的分析,转盘区的基本模式结构已经出来了,下面就是操作区的设计,操作区就是玩家进行操作的部分

操作区是实现功能的区域。

首先应该有一个投注按钮,另外要有开始按钮,对应的应该有退币和退出的按钮。有了这四个按钮,就能过实现基本的功能了,接下来就是要让游戏能够进行,下面就应该押注,因为我选的一共是8个水果图片,所以对应的有8个按钮来对应进行押注。


2.4 游戏流程图

老虎机的游戏流程如图2.4

2.4 游戏流程图


2.5 界面设计

通过上面的分析,得出如图2.5的界面。

2.5 游戏界面


3 详细设计

经过上面的需求分析,以及总体设计过程,把游戏分成两大块,一个是转盘区,一个是操作区。下面从这两块对设计进行详细分析。

3.1 转盘区设计

转盘区的设计主要是对背景和转盘布局进行设计。

首先从相对比较复杂的转盘布局来说,我的设计思路是通过线程不断的把12张图片画在游戏画布上面,要实现这个不难。首先定义了12Bitmap变量,分别为image0image1image212个。然后定义了3int型的变量,分别是startXstartYimageSize,其中startXstartY用来标记画图片时的横坐标和纵坐标。而imageSize表示图片的大小,也是用来画图片时要用到。变量定义完了然后就开始实现。在GameViewContext context)中把图片资源全部赋给我定义了的12Bitmap变量。通过image0 = ((BitmapDrawable)getResources().getDrawable(R.drawable.image0)).getBitmap()这条语句实现赋值。这样子就把图片资源顺利的导入到了定义的变量中了,下面就是要利用线程,把这个资源画出来。

下面的语句是用来画图片的,把图片按照图2.3的结构画出来:

canvas.drawBitmap(image0, startX, startY, mPaint);

canvas.drawBitmap(image1, startX+imageSize, startY, mPaint);

canvas.drawBitmap(image2, startX+imageSize*2, startY, mPaint);

canvas.drawBitmap(image3, startX+imageSize*3, startY, mPaint);

canvas.drawBitmap(image11,startX, startY+imageSize, mPaint);

canvas.drawBitmap(image4, startX+imageSize*3, startY+imageSize, mPaint);

canvas.drawBitmap(image10,startX, startY+imageSize*2, mPaint);

canvas.drawBitmap(image5, startX+imageSize*3, startY+imageSize*2, mPaint);

canvas.drawBitmap(image9, startX, startY+imageSize*3, mPaint);

canvas.drawBitmap(image8, startX+imageSize, startY+imageSize*3, mPaint);

canvas.drawBitmap(image7, startX+imageSize*2, startY+imageSize*3, mPaint);

canvas.drawBitmap(image6, startX+imageSize*3, startY+imageSize*3, mPaint);

通过线程调用了相应的函数以后,实现了把转盘区的图片画出来,效果图如3.1所示。

3.1 转盘布局实现效果图

背景的实现就相对比较简单,我在这里就是使用了一张图片,添加在转盘布局中间空着的那块矩形区域。实现原理跟转盘布局的实现一样,只是在画背景的时候,使用的坐标要和图片大小刚好填充好这块矩形区域。canvas.drawBitmap(image14,startX+imageSize,startY+imageSize,mPaint)实现了背景的添加。添加了背景后,界面的效果如图3.2所示。

3.2 转盘区的界面

以上便是转盘区的实现过程和部分截图。

3.2 操作区设计

操作区的设计相对于转盘区的设计较为复杂,因为转盘区只要设计界面,而操作区要实现所有的游戏功能

游戏的功能有投注、押注、开始、退币、退出。

3.2.1 按钮界面设计

首先要在界面上画出相应的界面,以供玩家来操作。在需求分析以及总体分析中,我都有提到过在操作区一共要画12个按钮。分别是开始、投币、退币、退出以及8个押注的选项。首先应该把它们先画出来,画的方法跟上面画转盘的差不多,只是调用的系统方法不一样。在这里为了让玩家知道自己还剩下的金币,我用了一个“积分”按钮来记录。所以一共是13个按钮。

我首先用了四个如下的循环画了4排小矩形,用来放相应的按钮,目的是把界面美观化。

for(int i=0; i<6; i++) {

canvas.drawRect(startX + 48*i, startY2, startX+48*i+43, startY2 + buttonHight, mPaint);

}

做完矩阵后,我就要把13个按钮画到相应的位置。

用了如下的语句来实现。

canvas.drawText("苹果", startX+10, startY2 +buttonHight + 5 + 20, mPaint);

画好了功能按钮后,要实现押注的注数显示,我首先设置画笔,将颜色设置为红色。用了mPaint.setColor(Color.RED)这条语句来实现。用canvas.drawText(pingguo + "", startX+10, startY2 + 20, mPaint)来实现画出投注数目。

操作区的实现效果图如图3.3所示

3.3 操作区界面

这样我们的整个界面就完成了。完成的效果如图2.5

3.2.2 功能实现

下面就介绍下这次设计的核心部分,功能的实现。在功能实现这一块,我主要是用到了触摸屏点触控这个关键核心词汇。我的设计思路是当触摸到屏幕时,根据触摸点来判断时间类型。因为操作区的按钮都是放到矩形中的,一共有13个按钮,当触摸到该按钮的矩形中是就响应相应的时间。比如点击在“开始”按钮的矩形区域时就响应相应的事件。

用了if(x>startX + 48*4 && y>startY2 + 70+35 && x这些语句来实现,就是先判断触摸点是不是在该功能模块的中,如果在就响应时间。如响应投注,效果如图3.4、图3.5所示。

3.4 点击“投币”之前 3.5 点击了“投币”之后

3.3 界面设计总结

在做界面的过程中,遇到了很多的问题,主要还是以前没有做过这样大的一个游戏,没有经验,做起来比较吃力,还好有同学的细心帮助,每一步同学都讲的很细致,所有问题经过自己的思考,然后在同学的提示下都得到了解决,而且效果非常好,印象比较深刻,这次课程设计的最大的印象就是提高了自己整体的操作能力。


4 设计总结

这次课程设计是做一个基于android平台的应用程序开发,在老师刚给我们题目的时候,我有点点的茫然,不知道从何开始下手,甚至自己心里有点点的急躁。通过老师的细心讲解,并在网上搜索一些相关的资料,逐渐地对这个相对有一定难度的课程设计有了相当的了解,并且还有点点的激动,觉得这个蛮有意思的。老师给的题目是要我们做个游戏或者应用开发,具体做什么可以自己定,说实话,最开始的时候我完全没有思路,因为之前学的不是很好,但是自己又想做好,把它当成一个项目来完成,我看了看一个完整项目的整个实现过程,包括了需求分析、概要设计、实现、测试、人员安排等,让我们对公司完成项目的模式有了一个大概的模型,然后结合老师跟我们说的这次课程设计的一个设计环境,让我对这次课程设计有了一定的信心。我希望通过这次的课程设计,能让自己把这方面的知识把握的更加的到位。

设计刚开始时候,我就忙于写论文,而忽略了课程设计的核心,从没考虑去定个题目,然后分析怎么样去做。从而自己思路全无,而又急功近利,导致自己变的异常的心不在焉,看到同学们的课程设计代码部分的模型已经颇有几分成色了,而自己还是在起跑点,现在回想起来,让我感动诧异的是,我非但没有一丝丝的着急,反而有种莫名的自负感,觉得自己这个东西只要几个小时就能完成似的,结果当然是时间稍纵即逝,而自己的设计一拖再拖。还好,在关键的时候,自己还是能够把握自己,能够驾驭自己懒惰的心理,开始认认真真的做课程设计,从需求分析,再到总体设计,一步一步来,每一个阶段都用心去实现。当然,其中也遇到过很多麻烦,但是通过询问老师和同学讨论,还是顺利的完成了既定的目标,而自己在这其中也受益良多。

从这次课程设计当中,看到了自己很多方面的不足,比如专业知识不到位,情绪波动较大,有时候很难控制自己的情绪,同时,发现最大的一个缺点就是自己现在自律越来越差了,而且精神也越来越差,变得非常懒。所以以后应当在自制能力方面更好的锻炼自己,提高自己的自律,好好规划好自己的每一天,同时应当巩固专业知识。

5 使用说明书

首先应该投币,然后进行押注,如果这两步没完成就进行游戏,会提示你先投币。押注完成后,可以点击开始进行游戏,一轮游戏结束后,你可以选择继续押注,如果没有金币了,可以继续投币,继续进行游戏,如果想退出游戏,你可以选择退币,退币后便可以退出游戏了。

整个游戏过程如下图所示。

投币 押注

退币并且游戏结束 一轮游戏结束


参考文献

[1] 杨丰盛.Android应用开发揭秘. 北京:机械工业出版社2010.1.

免费下载 Word文档免费下载: android课程设计论文

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服