毕业设计(论文)-基于android的贪吃蛇游戏设计与开发

毕业设计(论文)-基于android的贪吃蛇游戏设计与开发

ID:6794122

大小:1.57 MB

页数:31页

时间:2018-01-25

毕业设计(论文)-基于android的贪吃蛇游戏设计与开发_第1页
毕业设计(论文)-基于android的贪吃蛇游戏设计与开发_第2页
毕业设计(论文)-基于android的贪吃蛇游戏设计与开发_第3页
毕业设计(论文)-基于android的贪吃蛇游戏设计与开发_第4页
毕业设计(论文)-基于android的贪吃蛇游戏设计与开发_第5页
资源描述:

《毕业设计(论文)-基于android的贪吃蛇游戏设计与开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、西安思源学院课程实训报告课程名称计算机系统综合实训课题名称基于Android的贪吃蛇游戏开发专业计算机软件技术班级电信学院软件技术01班学号姓名指导教师2015年6月4日31目录1、程序构思22、程序设计32.1游戏功能32.2总设计模块的划分42.3游戏主界面模块42.4游戏控制模块42.5类模块设计43、程序实现53.1、游戏界面的实现53.2、游戏整个框架的构建63.3、实现键盘响应事件83.4、刷新93.4、实现页面的切换93.5、加载游戏93.6、游戏背景界面的改进93.8、添加音效103.9、游戏本身的完善10

2、3、类模块具体设计11TitleView.java11SnakeView.java124.程序结果145.总结与展望176.附录171、程序构思贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。正是因为如此,本次设计的目的在于学习Java程

3、序设计基本技术,学习用android开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握android环境的使用方法,培养初步的项目分析能力和程序设计能力。312、程序设计游戏设计的处理流程图:开始初始化界面和蛇身放置食物蛇开始运动蛇吃到食?蛇长大蛇死亡?继续续?退出界面NNYNY游戏者按键选择Y2.1游戏功能本系统主要完成以下几方面的功能:游戏控制功能——包括游戏的开始、暂停、

4、退出界面布局其他辅助功能(如游戏帮助,游戏积分,游戏过关等)312.2总设计模块的划分游戏总设计模块划分为游戏主要界面模块、游戏控制模块和游戏菜单模块。2.3游戏主界面模块游戏主界面模块主要是指游戏的框图,其包括一下内容:1、游戏界面的边界,即游戏中的墙;2、游戏中蛇的构成,以及苹果的构成;3、游戏中障碍物的构成;4、游戏中分数显示以及关卡显示。2.4游戏控制模块(1)游戏开始控制:我们的程序是使用上键开始游戏,启动游戏后会有一个初始菜单界面,我们点击“开始游戏”,弹出一句话“请按上键开始游戏”。游戏开始后蛇向下移动,然后

5、由控制上下左右键来控制蛇的移动。在程序中我们重新建了一个activity来控制游戏的开始,使游戏的开始界面更美观。(2)游戏暂停控制:我们是使用center键来控制游戏的暂停的,这是一项人性化的设计,当玩家在游戏过程中突遇紧急情况时可以按center键暂停游戏,等玩家空闲后按center键可以继续游戏。(3)游戏退出控制:在游戏的退出上我们的程序使用了多种方式来应对不同的情况,当玩家正在游戏中时,如想退出可以按“1”键,程序会自动跳转到初始菜单界面,在初始菜单界面点击“退出游戏”即可退出游戏。如果玩家在游戏中由于碰到墙或者

6、咬到自己或者碰到障碍物而导致游戏结束的,游戏或自动弹出一个界面,里面有提示是继续游戏还是退出游戏,当点击“取消”时,游戏就会自动跳转到初始菜单,再点击“退出游戏”即可。2.5类模块设计src源码目录:Snake.java为主界面类;31SnakeView为贪吃蛇类的视图主要逻辑控制和绘制类;TitleView为界面的整体视图;MenuActivity为菜单类,可以跳转到Help类和Snake类;Help为游戏帮助类。3、程序实现3.1、游戏界面的实现1、先声明用来存放绘画图像的X,Y轴的位置的数组:private int[

7、][] mTileGrid;2、编写存放图片索引用图片的X,Y轴位置;public void setTile(int tileindex, int x, int y){ mTileGrid[x][y]=tileindex;}3.把图片素材加入到bitmap中publicvoidloadTile(intkey,Drawabletile){Bitmapbitmap=Bitmap.createBitmap(mTileSize,mTileSize,Bitmap.Config.ARGB_8888);Canvascanvas=newC

8、anvas(bitmap);tile.setBounds(0,0,mTileSize,mTileSize);tile.draw(canvas);mTileArray[key]=bitmap;}4、调用以上的方法以循环的方式位置数组赋值以及图片的索引,private void updateWalls(){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。