Android贪吃蛇课程设计报告_第1页
Android贪吃蛇课程设计报告_第2页
Android贪吃蛇课程设计报告_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、综合实践报计算机系统综合实训贪吃蛇游戏开发计算机科学与技术课程名称 课题名称专 业 班 级 学 号 姓 名指导教师2015年 12月 20日湖南工程学院课程设计任务书课程名称计算机系统综合实训课 题贪吃蛇游戏开发专业班级计算机1202学生姓名学 号 指导老师任务书下达日期2015年 12月20 日任务完成日期 2016年1月11日任务书一、实训的内容1.贪吃蛇游戏开发(1)设计内容:在手机屏幕上设计一个贪吃蛇游戏, 屏幕四周被绿色苹果包围, 中间有贪吃 蛇和随机产生的苹果, 贪吃蛇的头是黄色的, 身子是红色的。 玩家按上、 下、左、 右键盘控制贪吃蛇在屏幕上向上、下、左、右移动,贪吃蛇只能向左

2、、右方向 90 度转弯,当吃到一个苹果贪吃蛇就长一节,分数加一分,同时屏幕上又随机 产生的一个黄色苹果, 一旦碰到墙壁或自己的尾巴就失败。 提示游戏得到的分数。贪吃蛇游戏规则:游戏初始化: 在本游戏中, 采用如下的策略进行初始化: 将贪吃蛇基本初始 化在屏幕的中央, 初始移动方向和贪吃蛇节点的排列顺序一致, 食物的坐标固定 位置。贪吃蛇的移动:除第一个节点以外,其它每个节点跟随前一个节点移动 贪吃蛇方向控制:贪吃蛇方向控制需要根据玩家的按键改变贪吃蛇的方向变 量,在改变时需要注意, 不能改变为当前方向的相反方向, 例如当前方向是向下 时,按向上的方向键是无效的。1h-L2J4|56790qll

3、wERTYI0pAsDFGHJKL6zXCVBN5YM-回JU(2)设计要求:按任务书的设计要求进行撰写。其中游戏核心数据结构设计要求为:主要是界面控制信息和逻辑控制信息 界面控制信息主要包含两个部分:贪吃蛇的位置信息,存储贪吃蛇的具体位置, 另外一个就是闪烁的食物的位置。而逻辑控制信息主要包含三个部分:贪吃蛇的 移动方向、闪烁控制以及程序暂停控制。碰撞和处理,包括贪吃蛇和食物的碰撞和处理, 贪吃蛇和四周的碰撞和处理, 贪吃蛇的头和身的碰撞和处理,二、综合实训时间安排具体时间及要求安排如下:综合实训时间为1718周,包括上机与查资料。17周安排(12月28日开始)星期一 (12月28日)上午星

4、期二(12月29日)下午星期三(12月30日)上午星期四(12月31日)上午第18周星期一至星期三上午风华科技老师来校讲课星期三下午去九华参观星期四至星期五,卓京来校讲课三、综合实训报告撰写要求正文的内容 :1、课程实训目的及要求;2、设计思路(需求分析、功能介绍、模块划分);3、主要功能的实现(至少要有一个主要模块的流程图);4、程序调试;5、总结;6、附件(所有程序的源代码,要求对程序写出必要的注释)。正文总字数 要求在 5000 字以上(不含程序原代码) 附:课程实训报告装订顺序:封面、任务书、目录、正文、评分、附件(A4 大小的图纸及程序清单)。正文的格式 : 一级标题用 3 号黑体

5、,二级标题用四号宋体加粗 ,正文用小四号宋体 ; 行距为 22。目录一、课程实训目的及要求 0.、课程实训目的 0.、课程实训要求 0.二、设计思路 1.、需求分析 1.、游戏界面分析 1.、游戏角色分析 1.、游戏控制分析 1.、可行性分析 2.、功能介绍 2.、模块划分 3.、系统功能模块层次 3.、运行机制 4.三、主要功能的实现 5.、功能流程图 5.四、程序调试 6.、功能测试 6.、测试结果 6.五、总结 6.六、附件 8.、源代码 8.一、课程实训目的及要求、课程实训目的计算机系统综合实训能培养学生独立进行资料收集 , 综合运用所学的多门课 程知识,培养分析问题和解决问题能力。验

6、证和巩固充实所学理论知识,加深对 相关内容的理解, 能运用所学知识为社会服务, 在实训中学习和锻炼, 增长才干。 本次实训采用项目制, 要求学生进一步理解和掌握软件工程的方法和技术, 培养 合作意识、团队精神和技术文档的编写能力。为了让同学们更好地了解 3G 的目 前应用情况,我们将邀请风华科技和卓京老师进行五天实训培训。、课程实训要求实训要求采用“项目小组”的形式,结合具体的开发项目进行设计。具体要 求如下 :1. 每个项目小组人数在 49 人,项目小组成员自行组织。2. 项目小组按开发计划书的任务进行实训。3. 根据进度安排着实开展实训活动,按时完成每部分工作。4. 每个项目小组必须按照计

7、划书的要求提交文档。6.综合实训集中在 510#和 512#机房进行。二、设计思路、需求分析、游戏界面分析操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后, 在游戏界面中, 以坐标的形式对整体界面进行划分, 将界面划分为网格, 还应设 计蛇的样式, 食物的样式和墙的样式, 在蛇吃到食物后的样式, 还有游戏结束时 的界面显示,游戏结束后,要显示所得的分数。、游戏角色分析设置游戏贪吃蛇初始时由固定小矩形块组成, 在游戏中, 要随机出现由单个 矩形块构成的食物, 并且设置随机出现的食物不要出现在蛇的身体中, 在蛇吃到 食物的时候,蛇的身体加长。此外,要判定游戏成功与失败的条件,当蛇的

8、头和 尾相撞或者蛇的头部撞到了墙上, 则游戏失败,此时游戏结束, 界面显示所得分 数。另外蛇的移动原理, 由外部按键设置监听控制蛇头的移动方向, 在方向的指 引下进行移动, 蛇及食物的位置都是由坐标数组确定的, 食物的位置也是随机产 生的蛇的移动原理是后一矩形块覆盖前一个矩形块。当一个食物被吃掉的时候, 要自动随机生成并显示下一个食物的位置。这些都是在设计过程中需要实现的。、游戏控制分析游戏中需要通过按键对蛇的移动方位进行控制, 共需要设置四个方位, 分别 是“东”“西”“南”“北”,在按键上用“上”“下”“左”“右”,按键与 执行部分涉及到监听, 通过监听指示蛇的运动, 此外,要设置蛇移动是

9、的默认方 向为“右”,蛇的移动只能是 90度偏转,不能进行 180 度偏转。此外还要设置 游戏的状态,有运行和结束两种状态,蛇体变长的时候用静态变量进行加分。、可行性分析贪吃蛇游戏是一种简单的大众的游戏,自从进入现代化以来,深受广大电脑 和手机玩家的喜爱,所以做一个简单的贪吃蛇小游戏是有用的。本次设计我主要运用Java语言来完成。Java语言是一种跨平台,适合于分 布式计算环境的面向对象编程语言,用 Java 写的应用程序不用修改就可在不同 的软硬件平台上运行。由于 Java 主要用于网络应用程序开发,因此对安全性有较高的要求。如果 没有安全保证,用户从网络下载程序执行就非常危险。Java通过

10、自己的安全机制 防止了病毒程序的产生和下载程序对本地系统的威胁破坏。、功能介绍贪吃蛇游戏是一款手机游戏, 同时也是一款比较需要耐心的游戏。 贪吃蛇游 戏是一条蛇, 不停地在手机屏幕上游走, 吃在手机屏幕上出现的食物。 当蛇吃掉 1个食物后会变长, 并且吃完食物时食物会消失, 并立即随机生成 1 个新的食物, 只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按 任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动, 一步移动一节身体,所以按

11、下有效方向键后,先确定蛇头的位置,而后蛇的身体 随蛇头移动。意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。、模块划分、系统功能模块层次工程中包括4个类,分别为SnakeActivity (主界面)、MyTile (游戏界面)NextActivity (游戏结束界面)和 SysApplication类,通过不同 Activity之间的转换实现不同界面之间的切换。SnakeActivity和NextActivity继承了 Activity类,MyTile 类继承了 View 类,SysApplication 类继承了 Application 类。SnakeActivity类

12、是这个游戏的入口点,MyTile类进行游戏的绘画和对游戏控制操作的处理。Coordinate, MyHandler是2个辅助类,是 MyTile 类中的内部类。其中,Coordinate是一个点的坐标(x,y), MyHandler将 MyHandler对象绑定某个线程并给它发送消息。Activity+cnCrEaj:e(j : voidMyTile111XL/NcnLAet ivi tv-fenchuilrirp+Sys?rip1 ion r: vmd + sync hr!: 1 zrz ): void*addActii- ity C- : void +exit 0 : voidsize -

13、 int-士匚oiuit : int-rCount : int-sOffset intintnap : int+MvTile) : voidinitbaic J : VDid+ J osdP (.1: vcii Jupdae 3ared(.)D 1图:运行机制三、主要功能的实现、功能流程图四、程序调试、功能测试经过在模拟器上的测试,本软件能实现其功能,达到了小蛇在屏幕上的移动,小 蛇吃食物,食物随机出现的功能,当小蛇头尾相撞或与墙相撞时,游戏结束.这些均 在测试中得到验证。图:运行时截图、测试结果通过对游戏软件的功能测试,控制测试和界面测试。对游戏的开始新游戏、 退出和统计分数功能进行测试,并

14、测试程序的键盘点击事件,结论是该游戏软件 能正确实现功能要求。要求输出的效果与预期的输出效果完全一致。五、总结本次 Java 课程设计我们这组做的课题是设计贪吃蛇游戏, 刚开始拿到题目我 们组员都不知如何下手, 经过小组成员一起查找资料, 并且开会讨论, 我们确定 了设计的设计目标以及具体实现方式,包括如何将 Java 的思想运用到实际系统 的详细设计之中。 实验过程中, 首先要将系统要实现的功能分为几大模块, 然后 每个组员分别完成,在此过程中使我加深了对 Java 的理解,以及如何进行团队 工作的划分,学会发现各组员的长处并将其发挥出来。 虽然大家没怎么学过 Java, 但大家都有 C 语

15、言基础,所以通过努力实验,进一步培养我们利用 Java 语言进 行编程和调试程序的能力,同时使我们能够学会将 C 语言与 Java 语言结合起来 编写较复杂具有实际意义和算法复杂度较小的程序。与此同时熟练掌握Java 语言的编辑,编译,调试程序,并将算法转变为程序实现。正确理解各种数据结构 的逻辑特性和存储表示和基本操作的算法实现。 掌握算法的时间分析和空间分析 的技术。针对问题的特点选择合适的数据结构, 设计实用高效的算法, 提高大家 的算法设计的能力和动手实验的技能。六、附件、源代码SnakeActivity 类: 程序的入口,程序的界面。代码如下:package class SnakeA

16、ctivity extends Activity Overrideprotected void onCreate(Bundle savedInstanceState) (savedInstanceState); setContentView ().addActivity( this );MyTile类:MyTile的基类是View,包含了贪吃蛇游戏画面的各个设定参数,主 要负责绘制游戏画面。还定义了游戏运行时的画面改变及蛇体和食物的更新方 法。 MyTile 类定义如下:packageDrawAllocation )public class MyTile extends View privat

17、e int size = 12; etResources();rintln( loadPic(int key, Drawable drawable) );Bitmap bitmap = Bitmap. createBitmap (size , size , 图片大小Canvas canvas = new Canvas(bitmap);quals(newCoor) collision = true ;ddActivity( this );class JiXuButtonListener implements OnClickListener Overridepublic void onClick(View v) xit();SysApplication 类: 退出游戏时,推出整个应用程序。代码如下:packagepublic class SysApplication extends Application private List mList = new LinkedList();private static SysApplication instance ;private SysApplication() public synchronized static SysApplication getInstanc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论