欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于android的贪吃蛇游戏设计与开发.docx

    • 资源ID:26632594       资源大小:15.81KB        全文页数:13页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于android的贪吃蛇游戏设计与开发.docx

    基于android的贪吃蛇游戏设计与开发 基于a n d r o i d的贪吃蛇游戏设计与开发 LG GROUP system office room 课程实训报告课程名称计算机系统综合实训 课题名称基于Android的贪吃蛇游戏开发 专业计算机科学与技术 班级 学号 姓名 指导教师 2022年 12 月 4 日 湖南工程学院 课程实训任务书 课程名称计算机系统综合实训课题基于Android的贪吃蛇游戏开发专业班级 学生姓名 学号 指导老师 审批 任务书下达日期 2022 年 12 月 4 日 任务完成日期 2022 年 12 月 20日 目录 1、程序构思. 2、程序设计. 游戏功能. 总设计模块的划分. 游戏主界面模块. 游戏控制模块. 类模块设计. 3、程序实现. 、游戏界面的实现. 、游戏整个框架的构建. 、实现键盘响应事件. 、刷新. 、实现页面的切换. 、加载游戏. 、游戏背景界面的改进. 、添加音效. 、游戏本身的完善. 3、类模块具体设计 . . . 4. 程序结果 . 5. 总结与展望 . 6. 附录. 1、程序构思 贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。 正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用android开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握android环境的使用方法,培养初步的项目分析能力和程序设计能力。 2、程序设计 游戏设计的处理流程图 游戏功能 本系统主要完成以下几方面的功能: 游戏控制功能包括游戏的开始、暂停、退出 界面布局 其他辅助功能(如游戏帮助,游戏积分,游戏过关等) 总设计模块的划分 游戏总设计模块划分为游戏主要界面模块、游戏控制模块和游戏菜单模块。 游戏主界面模块 游戏主界面模块主要是指游戏的框图,其包括一下内容: 1、游戏界面的边界,即游戏中的墙; 2、游戏中蛇的构成,以及苹果的构成; 3、游戏中障碍物的构成; 4、游戏中分数显示以及关卡显示。 游戏控制模块 (1)游戏开始控制: 我们的程序是使用上键开始游戏,启动游戏后会有一个初始菜单界面,我们点击“开始游戏”,弹出一句话“请按上键开始游戏”。游戏开始后蛇向下移动,然后由控制上下左右键来控制蛇的移动。在程序中我们重新建了一个activity来控制游戏的开始,使游戏的开始界面更美观。 (2)游戏暂停控制: 我们是使用center键来控制游戏的暂停的,这是一项人性化的设计,当玩家在游戏过程中突遇紧急情况时可以按center键暂停游戏,等玩家空闲后按center键可以继续游戏。 (3)游戏退出控制: 在游戏的退出上我们的程序使用了多种方式来应对不同的情况,当玩家正在游戏中时,如想退出可以按“1”键,程序会自动跳转到初始菜单界面,在初始菜单界面点击“退出游戏”即可退出游戏。如果玩家在游戏中由于碰到墙或者咬到自己或者碰到障碍物而导致游戏结束的,游戏或自动弹出一个界面,里面有提示是继续游戏还是退出游戏,当点击“取消”时,游戏就会自动跳转到初始菜单,再点击“退出游戏”即可。 类模块设计 src源码目录: 为主界面类; SnakeView 为贪吃蛇类的视图主要逻辑控制和绘制类; TitleView 为界面的整体视图; MenuActivity为菜单类,可以跳转到Help类和Snake类; Help为游戏帮助类。 3、程序实现 、游戏界面的实现 1、先声明用来存放绘画图像的X,Y轴的位置的数组: privateintmTileGrid; 2、编写存放图片索引用图片的X,Y轴位置; publicvoid setTile(int tileindex,int x,int y) mTileGridxy = tileindex; 3. 把图片素材加入到bitmap中 public void loadTile(int key, Drawable tile) Bitmap bitmap = Canvas canvas = new Canvas(bitmap); (0, 0, mTileSize, mTileSize); (canvas); mTileArraykey = bitmap; 4、调用以上的方法以循环的方式位置数组赋值以及图片的索引,privatevoidupdateWalls() for(intx = 0; x 0) (mTileArraymTileGridxy, mXOffset+ x *mTileSize, mYOffset+ y *mTileSize, mPaint); 同上可见:整个界面其实就是由图片数组拼直面成的。 到此,则可以实现游戏背景墙。 、游戏整个框架的构建 1 实现方案 游戏的整个框架的构建包括基本的蛇身,苹果的实现,有两种方案: 方案一:使用常用的数组来存储蛇身和苹果的点集的信息。此方案的优点是对数组的操作较为熟悉,实现简单,但是部分操作较为麻烦,有可能出现数组越界,或者浪费太多存储空间。 方案二:使用动态数组ArrayList来存储蛇身和苹果点集的信息。ArrayList 可以用来定义为各种不同类型的数组,不仅仅局限于int整型;而且 ArrayList为用户编程提供了各种借口,比如插入,删除元素,统计元素个数等,实现较为简单,不会出现数组越界的问题。 结合各种因素的考虑,我们在设计中采用第二种方案。 定义Position方法,用于存储蛇身和苹果的点集坐标 private class Position quals,) flag = true; 墙的冲突检测方法与上同;当产生的新坐标没有问题时,则把新坐标加入到mAppleTrail中。 蛇的实现 声明: private ArrayList mAppleTrail = new ArrayList();用于存储苹果的坐标位置 蛇的初始化 蛇身的初始化在ininNewGame中实现,直接把最初要呈现给玩家的蛇的情况定义出来,即添加一定数量的坐标点进入mSnakeTrail中,使得在最初开始游戏时,有蛇可以进行自由移动。 蛇的移动 游戏中是通过触发来改变坐标(+1,-1)的方式来改蛇头的方向,包括后面的蛇的碰撞检测都要用到蛇头。 获取蛇的头部: Position head = (0); 蛇的新头部: Position newHead = new Position(2,2); 通过设置整型变量mDirection以及mNextDirection来判断蛇下一步移动方向,然后改变蛇头的坐标,使蛇移动 switch (mDirection) case EAST: newHead = new Position,; break; . 蛇的碰撞检测 蛇在移动时,若碰撞到墙壁或者自己身体,则游戏结束。 蛇的碰壁检测: if( mXTileCount-2) setMode(LOSE); return; 蛇的自身碰撞的检测: int wallength = (); for ( int wallindex = 0 ; wallindex < wallength; wallindex+) Position c = (wallindex); if ,) setMode(LOSE); return; 蛇吃苹果的实现 蛇所经过的每一个坐标,他们都要在苹果所在的 ArrayListmAppleList=new ArrayList())坐标集里面集依次判断,若是坐标相同,那个这个苹果就被蛇吃了。 找苹果的方法: int applecount = (); int appleindex; for ( appleindex = 0; appleindex < applecount; appleindex+) Position c = (appleindex); if ,) 、实现键盘响应事件 键盘主要起操作作用,可以控制蛇的行走方向: public boolean onKeyDown(int keyCode,KeyEvent event) 、刷新 只要继承Handler类就可以对消息进行控制,或者处理classRefreshHandlerextendsHandler tartActivity(intent); 设置加速 根据实际操作需要,当操控蛇的移动时,若按下方向键不放,则蛇在该方向上的运行速度就会加快;若松开方向键则恢复原速度。 通过设置整型变量mSpeed和mNSpeed,其中mNSpeed用来保存蛇在该关卡的移动速度。 通过键盘响应函数public boolean onKeyDown(int keyCode,KeyEvent event) 和public boolean onKeyUp(int keyCode, KeyEvent event)一起来实现加速功能。 提示对话框 在游戏结束后弹出对话框询问玩家的下一步动作,按确定按钮继续开始新的游戏,按取消退出游戏。 声明对象:private showRightorNot ; 弹出对话框的界面: showRightorNot = new (); ("贪吃蛇"); ("确定", this); ("取消", this); ("按确定继续,按取消退出游戏").show(); 3、类模块具体设计 中的成员变量表 成员方法 中的成员变量表

    注意事项

    本文(基于android的贪吃蛇游戏设计与开发.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开