欢迎来到天天文库
浏览记录
ID:20459349
大小:206.76 KB
页数:13页
时间:2018-10-13
《贪吃蛇游戏报告书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、青岛大学软件技术学院交互式游戏设计实践实训题目名称贪吃蛇姓名专业数字媒体艺术班级10级3班指导教师解新峰2014年1月14日13目录第一章引言31.1选题背景31.2项目意义31.3开发技术31.3.1Java语言简介31.3.3Eclipse开发环境4第二章贪吃蛇游戏概述52.1游戏分析52.1.1游戏规则52.1.2游戏玩法52.2算法分析52.3架构分析5第三章贪吃蛇游戏的详细设计73.1游戏总体结构设计73.2游戏运行图10小结13参考文献1313第一章引言1.1选题背景贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知
2、识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它的制作方法对于以前的我而言都是很神秘的。我希望通过自己的所学知识把它剖析开来,真真正正的了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学习中我将从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。1.2项目意义游戏在设计方面应该本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,应始终坚持清晰明了,在性能方面应能够实现效率高,不易出错等优点。游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。1.3开发技术1.3.
3、1Java语言简介Java是一种简单易用的编程语言,它采用了一种虚拟机作为中间层来屏蔽平台差异,能够实现跨平台运行。Java支持面向对象编程,有封装、继承、多态的特性,它还支持多线程,实现多个程序流程同时执行,完成不同任务。1.3.2Java语言的开发工具包JDKJDK(JavaDevelopmentKit)是Java语言的开发工具包,工具包里除了包含Java语言编译器、调试器以及演示程序以外,一般还会包含Java运行环境(JavaRuntimeEnvironment,JRE)。JRE是某一平台运行Java程序的软件环境,包括虚拟机(JVM)和
4、核心类库等。1.3.3Eclipse开发环境Eclipse是一个开放源代码的、基于Java的可扩展开发平台,是目前非常流行的跨平台的自由集成开发环境(IDE)。最初主要用于Java语言开发,但是目前也有人通过插件使其作为其他编程语言(如C++、PHP)的开发工具。Eclipse本身也只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse本身核心非常小,其设计思想是“一切皆为插件”13。其他功能都是基于插件的形式与Eclipse无
5、缝结合,协同工作,如Eclipse的图形API、多国语言包等。在Eclipse启动后,要真正用到某个插件时,该插件才会被动态载入内存,不再被使用的插件会在适当的时候被清除内存,所以不必担心某些不常用的插件消耗内存。插件机制使得Eclipse具有了无限扩展的可能。13第二章拼图游戏概述2.1游戏分析2.1.1游戏规则本程序是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.1.2游戏玩法玩家用鼠标点击“游戏”按钮,会出现一个
6、含有“新游戏、暂停、继续”的下拉框,点击“新游戏并且继续”按钮即可开始进行游戏,利用方向键来改变蛇的运行方向,在菜单栏有“速度”的按钮,可以来选择蛇的运行速度。2.2算法分析a.利用数组列表来存放蛇身的每一个节点。b.蛇的方向分别用四个整型常量表示:1上,2下,3左,4右。可利用derection%c.是否等于newDer%2来判断改变的方向是否一原来方向相反。d.蛇吃食物算法:根据蛇头的方向,判断蛇头坐标与食物坐标关系,例如:蛇头向上,则蛇头与食物的x坐标相同,蛇头y坐标比食物y坐标少10(一个食物或一节蛇身的长度)。e.蛇移动时,根据当前蛇
7、头坐标向蛇头方向前画一个节点作为新的蛇头,并去掉蛇尾。2.3架构分析该游戏包括七个大类分别是主类SnakeGame、类SnakeFrame、类Snake、类Node、类SnakePanel、类StatusRunnable、类SnakeRunnable。系统流程图如表2.3:13开始NewGame蛇身+1是否吃到食物物Move判断蛇头方向启动游戏状态检测线程启动游戏线程记录游戏状态Repaint游戏是否结束否是结束游戏状态线程Repaint()是否发生碰撞否游戏结束是表2.313第三章贪吃蛇游戏的详细设计3.1游戏总体结构设计1.主类SnakeG
8、ame(1)主类为此程序的入口,定义了SnakeFrame的对象frame,开始运行此程序。2.类SnakeFrame(1)成员变量见表2表2主要成员
此文档下载收益归作者所有