首页 基于droid的贪吃蛇游戏设计与开发精编

基于droid的贪吃蛇游戏设计与开发精编

举报
开通vip

基于droid的贪吃蛇游戏设计与开发精编Lelewaswrittenin2021基于droid的贪吃蛇游戏设计与开发精编课程实训报告课程名称计算机系统综合实训课题名称基于Android的贪吃蛇游戏开发专业计算机科学与技术班级学号姓名指导教师2013年12月4日湖南工程学院课程实训任务书课程名称计算机系统综合实训课题基于Android的贪吃蛇游戏开发专业班级学生姓名学号指导老师审批任务书下达日期2013年12月4日任务完成日期2013年12月20日目录TOC\o"1-3"\h\z\u1、程序构思贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较...

基于droid的贪吃蛇游戏设计与开发精编
Lelewaswrittenin2021基于droid的贪吃蛇游戏设计与开发精编课程实训 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课程名称计算机系统综合实训课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 名称基于Android的贪吃蛇游戏开发专业计算机科学与技术班级学号姓名指导教师2013年12月4日湖南 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院课程实训任务 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 课程名称计算机系统综合实训课题基于Android的贪吃蛇游戏开发专业班级学生姓名学号指导老师审批任务书下达日期2013年12月4日任务完成日期2013年12月20日目录TOC\o"1-3"\h\z\u1、程序构思贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用android开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握android环境的使用方法,培养初步的项目分析能力和程序设计能力。2、程序设计游戏设计的处理流程图:开始初始化界面和蛇身放置食物蛇开始运动蛇吃到食蛇长大蛇死亡继续续退出界面NNYNY游戏者按键选择Y游戏功能本系统主要完成以下几方面的功能:游戏控制功能——包括游戏的开始、暂停、退出界面布局其他辅助功能(如游戏帮助,游戏积分,游戏过关等)总设计模块的划分游戏总设计模块划分为游戏主要界面模块、游戏控制模块和游戏菜单模块。游戏主界面模块游戏主界面模块主要是指游戏的框图,其包括一下内容:1、游戏界面的边界,即游戏中的墙;2、游戏中蛇的构成,以及苹果的构成;3、游戏中障碍物的构成;4、游戏中分数显示以及关卡显示。游戏控制模块(1)游戏开始控制:我们的程序是使用上键开始游戏,启动游戏后会有一个初始菜单界面,我们点击“开始游戏”,弹出一句话“请按上键开始游戏”。游戏开始后蛇向下移动,然后由控制上下左右键来控制蛇的移动。在程序中我们重新建了一个activity来控制游戏的开始,使游戏的开始界面更美观。(2)游戏暂停控制:我们是使用center键来控制游戏的暂停的,这是一项人性化的设计,当玩家在游戏过程中突遇紧急情况时可以按center键暂停游戏,等玩家空闲后按center键可以继续游戏。(3)游戏退出控制:在游戏的退出上我们的程序使用了多种方式来应对不同的情况,当玩家正在游戏中时,如想退出可以按“1”键,程序会自动跳转到初始菜单界面,在初始菜单界面点击“退出游戏”即可退出游戏。如果玩家在游戏中由于碰到墙或者咬到自己或者碰到障碍物而导致游戏结束的,游戏或自动弹出一个界面,里面有提示是继续游戏还是退出游戏,当点击“取消”时,游戏就会自动跳转到初始菜单,再点击“退出游戏”即可。类模块设计src源码目录:为主界面类;SnakeView为贪吃蛇类的视图主要逻辑控制和绘制类;TitleView为界面的整体视图;MenuActivity为菜单类,可以跳转到Help类和Snake类;Help为游戏帮助类。3、程序实现、游戏界面的实现1、先声明用来存放绘画图像的X,Y轴的位置的数组:privateint[][]mTileGrid;2、编写存放图片索引用图片的X,Y轴位置;publicvoidsetTile(inttileindex,intx,inty){mTileGrid[x][y]=tileindex;}3.把图片素材加入到bitmap中publicvoidloadTile(intkey,Drawabletile){Bitmapbitmap=(mTileSize,mTileSize,Canvascanvas=newCanvas(bitmap);(0,0,mTileSize,mTileSize);(canvas);mTileArray[key]=bitmap;}4、调用以上的方法以循环的方式位置数组赋值以及图片的索引,privatevoidupdateWalls(){for(intx=0;x0){(mTileArray[mTileGrid[x][y]],mXOffset+x*mTileSize,mYOffset+y*mTileSize,mPaint);}同上可见:整个界面其实就是由图片数组拼直面成的。到此,则可以实现游戏背景墙。、游戏整个框架的构建1实现方案游戏的整个框架的构建包括基本的蛇身,苹果的实现,有两种方案:方案一:使用常用的数组来存储蛇身和苹果的点集的信息。此方案的优点是对数组的操作较为熟悉,实现简单,但是部分操作较为麻烦,有可能出现数组越界,或者浪费太多存储空间。方案二:使用动态数组ArrayList来存储蛇身和苹果点集的信息。ArrayList可以用来定义为各种不同类型的数组,不仅仅局限于int整型;而且ArrayList为用户编程提供了各种借口,比如插入,删除元素,统计元素个数等,实现较为简单,不会出现数组越界的问题。结合各种因素的考虑,我们在设计中采用第二种方案。定义Position方法,用于存储蛇身和苹果的点集坐标privateclassPosition{quals,){flag=true;}}墙的冲突检测方法与上同;当产生的新坐标没有问题时,则把新坐标加入到mAppleTrail中。蛇的实现声明:privateArrayListmAppleTrail=newArrayList();用于存储苹果的坐标位置蛇的初始化蛇身的初始化在ininNewGame中实现,直接把最初要呈现给玩家的蛇的情况定义出来,即添加一定数量的坐标点进入mSnakeTrail中,使得在最初开始游戏时,有蛇可以进行自由移动。蛇的移动游戏中是通过触发来改变坐标(+1,-1)的方式来改蛇头的方向,包括后面的蛇的碰撞检测都要用到蛇头。获取蛇的头部:Positionhead=(0);蛇的新头部:PositionnewHead=newPosition(2,2);通过设置整型变量mDirection以及mNextDirection来判断蛇下一步移动方向,然后改变蛇头的坐标,使蛇移动switch(mDirection){caseEAST:{newHead=newPosition,;break;}…….}蛇的碰撞检测蛇在移动时,若碰撞到墙壁或者自己身体,则游戏结束。蛇的碰壁检测:if(<1)||<1)||>mYTileCount-2)||>mXTileCount-2)){setMode(LOSE);return;}蛇的自身碰撞的检测:intwallength=();for(intwallindex=0;wallindexmAppleList=newArrayList())坐标集里面集依次判断,若是坐标相同,那个这个苹果就被蛇吃了。找苹果的方法:intapplecount=();intappleindex;for(appleindex=0;appleindex
本文档为【基于droid的贪吃蛇游戏设计与开发精编】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_533202
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:0
分类:企业经营
上传时间:2021-09-10
浏览量:0