欢迎来到天天文库
浏览记录
ID:55534675
大小:1.21 MB
页数:26页
时间:2020-05-16
《贪吃蛇游戏安卓(田莎莎).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android贪吃蛇游戏设计姓名:田莎莎学校:长沙理工大学Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(softwarestack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。1项目背景说明针对当今游戏开发的流行趋势,手机
2、游戏的设计已成为主流,随着计算机技术及硬件技术的不断发展,用户的需求量也越来越多,并且用户追求的效果也越来越好,在此形势下好的设计方法尤为重要,基于android系统的手机游戏设计方法简单且效率较高。贪吃蛇游戏也是很多人热衷的游戏,用户不仅要求其界面设计精美,更希望操作简单,程序执行速度快。Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资
3、源占用,因而与J2ME等不同。操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(DalvikVirtualMachine)。Dalvik虚拟机是一种“暂存器型态”(RegisterBased)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。贪吃蛇游戏是一款老牌的手机游戏,同时也是一款比较需要耐心地游戏。贪吃蛇游戏就是一条小蛇,不停地在屏幕上游走,吃各个方向出现的食物,
4、越吃越长。只要蛇头碰到屏幕四周,或者碰到自己的身子,小蛇就立即毙命。玩“贪吃蛇游戏”,难度最大的不是蛇长得很长的时候,而是开始的时候。那时蛇身很短,看上去难度不大,却最容易死掉,因为把玩一条小蛇让人容易走神,失去耐心。Android应用越来越广泛,开发Android游戏也渐渐成为市场的必须,本游戏的开发是基于Android1.5系统,采用eclipse编程实现。2设计与实现具体实现过程分为以下3步:项目框架、游戏类图设计、界面设计。项目框架新建一个Eclipse工程并命名为Snake,工程如下图所示:图1.1Sn
5、ake工程工程中包括4个Activity,分别为Snake(主界面)、Game(游戏界面)、Help(游戏说明界面)、AuthorView(作者信息界面),通过不同Activity之间的转换实现不同界面之间的切换。游戏主界面如下图所示:图1.2游戏主界面游戏类图设计Game(Activity)继承了SnakeView类,SnakeView类继承了TileView类。TileView类继承了View,如下图所示:Game(Activity)SnakeViewTileViewView图1.3类图TiltView的基类
6、是View,包含了贪吃蛇游戏画面的各个设定参数,主要负责绘制游戏画面。TileView类定义如下:publicclassTileViewextendsView{privatestaticfinalStringtag="yao";protectedstaticintmTileSize=20;//方格的边长protectedstaticintmXTileCount;//X轴上方格的个数protectedstaticintmYTileCount;//Y轴上方格的个数privatestaticintmXOffset;//
7、绘图时X轴上的起始坐标privatestaticintmYOffset;//绘图时Y轴上的起始坐标privateBitmap[]mTileArray;//位图数组privateint[][]mTileGrid;//映射整个游戏画面的数组privatefinalPaintmPaint=newPaint();//画笔publicTileView(Contextcontext,AttributeSetattrs){super(context,attrs);Log.i(tag,"TileViewConstructor")
8、;Log.i(tag,"mTileSize="+mTileSize);}//重置位图数组的长度publicvoidresetTiles(inttilecount){mTileArray=newBitmap[tilecount];}@Override//适应各种分辨率的屏幕,当改变屏幕大小尺寸时,同时修改tile的相关计数指标protectedvoidonSizeChang
此文档下载收益归作者所有