基于Android的贪吃蛇游戏

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

东北石油大学应用训练2016年3月11日课程题目基于Android的贪吃蛇游戏院系专业班级学生姓名学生学号指导教师东北石油大学应用训练任务书课程___________________________题目专业姓名学号主要内容、基本要求、主要参考资料等主要内容:本无线开发应用训练利用ADTeclipse开发Android软件,主要完成贪吃蛇游戏的软件开发。其中有三大模块,分别是项目框架、游戏类图设计、界面设计。侧重于Java类的编写和视图layout的的xml编写。基本要求:(一)掌握Eclipse集成开发环境中Android开发的完整开发流程;(二)掌握课题的工作原理,完成系统分析及相应的程序设计工作,包括:(1)贪吃蛇游戏主界面程序设计;(2)贪吃蛇游戏类图的设计;(3)贪吃蛇Android项目框架的搭建。(三)撰写无线开发应用训练报告。主要参考资料:[1]陈炜,张晓蕾,侯燕萍等.Java软件开发技术[M].北京:人民邮电出版社,2005.[2]林城.Android2.3应用开发实战[J].机械工业出版社,2011:17-321.完成期限2016年2月29日~2016年3月11日指导教师2016年2月29日目录一、开发背景和需求分析............................................................................................1二、开发环境与准备工作............................................................................................2三、系统功能与原型设计............................................................................................3四、详细设计与编程实现............................................................................................44.1项目框架.........................................................................................................44.2游戏类图设计.................................................................................................54.3界面设计.........................................................................................................6五、系统调试和运行..................................................................................................11总结..............................................................................................................................11参考文献......................................................................................................................12附录(源程序代码)..................................................................................................12无线开发应用训练(报告)1一、开发背景和需求分析Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为Android的公司开发,谷歌在2005年收购Android.Inc后,继续对Android系统开发运营,它采用了软件堆层(softwarestack,又名软件叠层)的架构[1],主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。针对当今游戏开发的流行趋势,手机游戏的设计已成为主流,随着计算机技术及硬件技术的不断发展,用户的需求量也越来越多,并且用户追求的效果也越来越好,在此形势下好的设计方法尤为重要,基于android系统的手机游戏设计方法简单且效率较高[2]。贪吃蛇游戏也是很多人热衷的游戏,用户不仅要求其界面设计精美,更希望操作简单,程序执行速度快。Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同[3]。操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Android的中间层多以Java实现,并且采用特殊的Dalvik虚拟机(DalvikVirtualMachine)。Dalvik虚拟机是一种“暂存器型态”(RegisterBased)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。贪吃蛇游戏是一款老牌的手机游戏,同时也是一款比较需要耐心地游戏。贪吃蛇游戏就是一条小蛇,不停地在屏幕上游走,吃各个方向出现的食物,越吃越长。只要蛇头碰到屏幕四周,或者碰到自己的身子,小蛇就立即毙命。玩“贪吃蛇游戏”,难度最大的不是蛇长得很长的时候,而是开始的时候。那时蛇身很短,看上去难度不大,却最容易死掉,因为把玩一条小蛇让人容易走神,失去耐心。无线开发应用训练(报告)2二、开发环境与准备工作JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaWTK是Sun公司提供的无线开发工具包,分四种模拟器Defaultcolorphone用于具有彩色显示屏幕的手机模拟器Defaultgrayphone用于具有单色灰度屏幕的手机模拟器Mediacontrolskin用于具有音频和视频控制功能的手机模拟器Qwertydevice用于具有标准打字键盘的手机模拟器Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。ADT是一个用来开发Android应用程序的Eclipse插件[4],本次开发也将应用的EclipseADT插件来完成贪吃蛇游戏的编程。Android应用越来越广泛,开发Android游戏也渐渐成为市场的必须,本游戏的开发是基于Android4.0系统,采用eclipse编程实现[5]。具体实现过程分为以下3步:项目框架、游戏类图设计、界面设计。1、新建一个eclipse工程。图1新建eclipse工程2、导入文件导入相关的程序包无线开发应用训练(报告)33、编写程序图2工程中的相关文件4、运行与调试,运行结果如下图。图3程序调试三、系统功能与原型设计1、功能概述:功能简述功能描述主界面包含“开始游戏”,“作者信息”,“游戏说明”,“退出”“贪吃蛇”游戏首先是用户的贪吃蛇在每个格子中只有一个方向,然后,若“吃”到系统随机给出的小点,则相应的蛇身增加一格,最后,控制蛇头不能触到蛇身任何位置,若触到则游戏结束。作者信息主要是贴出个人信息。游戏说明对游戏的玩法做出介绍。无线开发应用训练(报告)42、原型设计操作系统:Android4.0及以上版本屏幕分辨率:≥320×480手机型号:适用于装有Android4.0及以上版本并且屏幕分辨率≥320×480的手机3、系统流程图4系统流程四、详细设计与编程实现4.1项目框架新建一个Eclipse工程并命名为Snake,工程如下图所示:图5Snake工程工程中包括4个Activity,分别为Snake(主界面)、Game(游戏界面)、Help(游戏说明界面)、AuthorView(作者信息界面),通过不同Activity之间的转换实现不同界面之间的切换。SnakeActivityGameActivityHelpActivityAuthorViewActivity交互界面切换无线开发应用训练(报告)54.2游戏类图设计Game(Activity)继承了SnakeView类,SnakeView类继承了TileView类。TileView类继承了View,如下图所示:图8类图TiltView的基类是View,包含了贪吃蛇游戏画面的各个设定参数,主要负责绘制游戏画面。TileView类定义如下:publicclassTileViewextendsView{privatestaticfinalStringtag=yao;protectedstaticintmTileSize=20;//方格的边长protectedstaticintmXTileCount;//X轴上方格的个数protectedstaticintmYTileCount;//Y轴上方格的个数privatestaticintmXOffset;//绘图时X轴上的起始坐标privatestaticintmYOffset;//绘图时Y轴上的起始坐标privateBitmap[]mTileArray;//位图数组privateint[][]mTileGrid;//映射整个游戏画面的数组privatefinalPaintmPaint=newPaint();//画笔publicTileView(Contextcontext,AttributeSetattrs){super(context,attrs);SnakeViewTileViewGame(Activity)View无线开发应用训练(报告)6Log.i(tag,TileViewConstructor);Log.i(tag,mTileSize=+mTileSize);}SnakeView类定义了游戏运行时的画面改变及蛇体和果子的更新方法。定义SnakeView()函数初始化游戏,代码如下:publicSnakeView(Contextcontext,AttributeSetattrs){super(context,attrs);Log.i(tag,SnakeViewConstructor);initSnakeView();//构造函数中,初始化游戏}定义initSnakeView()初始化SnakeView类,代码如下:privatevoidinitSnakeView(){Log.e(tag,initSnakeView);//设置焦点,由于存在文字界面和游戏界面的跳转。这个focus是不可或缺的。setFocusable(true);//取得资源中的图片,加载到砖块字典中。Resourcesr=this.getContext().getResources();resetTiles(4);loadTile(RED_STAR,r.getDrawable(R.drawable.redstar));loadTile(YELLOW_STAR,r.getDrawable(R.drawable.yellowstar));loadTile(GREEN_STAR,r.g

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功