贪吃蛇游戏报告书.docx

上传人:太** 文档编号:72769327 上传时间:2023-02-13 格式:DOCX 页数:15 大小:34.18KB
返回 下载 相关 举报
贪吃蛇游戏报告书.docx_第1页
第1页 / 共15页
贪吃蛇游戏报告书.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《贪吃蛇游戏报告书.docx》由会员分享,可在线阅读,更多相关《贪吃蛇游戏报告书.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、青岛大学软件技术学院交互式游戏设计实践实训贪吃蛇数字媒体艺术10级3班解新峰题目名称姓名专业班级指导教师2014年1月14日目 录第一章引言31.1 选题背景3项目意义3L3开发技术3. 1 Java语言简介 31.2 .3 Eclipse 开发环境 4第二章贪吃蛇游戏概述52. 1游戏分析 5帮助菜单项JMenuItemhelpitem(2)方法见表3表3主要方法方法名功能SnakePanel ()创建蛇的面板addKeyListener监视器setBounds ()设置尺寸JLabel ()设置标签JMenu ()创建菜单JMenuItem构造菜单项3 .类 Snake(1)成员变量见表4

2、表4主要成员变量成员变量描述变量类型名称是否运动booleanisRun蛇体ArrayLi stBody食物NodeFood方向intDerection分数intScore状态intStatus速度intSpeed慢public static final intSLOW中public static final intMID快public static final intFAST运动中public static final intRUNNING已暂停public static final intPAUSED游戏结束public static final intGAMEOVER左public st

3、atic final intLEFT上public static final intUP右public static final intRIGHT下public static final intDOWN(2)方法见表5表5主要方法方法名功能isEaten ()判断食物是否被蛇吃掉,如果食物在蛇运行方向的正前 方,并且与蛇头接触,则被吃掉isCollsionO判断是否碰撞makeFood ()在随机的地方产生食物changeDerection(int newDer)改变运行方向move ()蛇在运行中所采取的措施4 .类 Node(1)成员变量见表6表6主要成员变量成员变量描述变量类型名称食物块

4、宽public static final intw食物块高public static final intH横坐标intX纵坐标inty5 .类 SnakePane1此类为画蛇的面板类,是实现红蓝间隔画蛇身算法的类。6 .类 StatusRunnable此类为线程的子类,实现记录状态的功能。7 .类 SnakeRunnable此类为线程的子类,实现蛇运动以及记录分数的功能。3. 2游戏运行图L游戏初始状,如图3. 2所示。图3. 2游戏初始状.按“游戏”按钮准备开始游戏,如图3. 3所示。图3. 3.开始游戏和进行游戏状态,如图3. 4和3. 5所示。图3.4图3.54.点击速度按钮,可以改变蛇

5、的运行速度,如图3. 6所示。图3.64.游戏结束,如图3. 7所示。图3. 7小结整个项目制作过程特别有趣,自己用Flash软件切分图片,自己调试代码, 把每一句注释完整,加深对程序的了解。整个程序的完成是一步步来的,首先给界 面添加方格按钮,控制按钮,再实现事件监听,然后想办法做到更完美,比如添加 背景音乐,调整背景颜色等。让我深深地体会到代码的不可思议,思维瞬间开阔很 多,冒出来各种想法,我还想做出其他我知道的游戏,让自己深入了解,为日后游 戏设计打基础。其实在制作过程中也遇到各种难题:2. 1. 1游戏规则1. 2游戏玩法 53. 2算法分析53架构分析5第三章贪吃蛇游戏的详细设计7游

6、戏总体结构设计73.1 游戏运行图 10小结 13参考文献13第一章引言1.1 选题背景贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知 识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它的制作方法对于 以前的我而言都是很神秘的。我希望通过自己的所学知识把它剖析开来,真真正正 的了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学习 中我将从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。1.2 项目意义游戏在设计方面应该本着方便、实用及娱乐性高的宗旨,在对界面进行设计 的过程中,应始终坚持清晰明了,在性能方面应能够实现效率高,不易出错等优

7、 点。游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而 且准确率高,不易出错。1. 3开发技术3. 1 Java语言简介Java是一种简单易用的编程语言,它采用了一种虚拟机作为中间层来屏蔽平 台差异,能够实现跨平台运行。Java支持面向对象编程,有封装、继承、多态的 特性,它还支持多线程,实现多个程序流程同时执行,完成不同任务。1.3.2 Java语言的开发工具包JDKJDK (Java Development Kit)是Java语言的开发工具包,工具包里除了包 含Java语言编译器、调试器以及演示程序以外,一般还会包含Java运行环境 (Java Runtime Envi

8、ronment, JRE) o JRE 是某一平台运行 Java 程序的软件环 境,包括虚拟机(JVM)和核心类库等。1. 3. 3 Eclipse开发环境Eclipse是一个开放源代码的、基于Java的可扩展开发平台,是目前非常流 行的跨平台的自由集成开发环境(IDE)。最初主要用于Java语言开发,但是目前 也有人通过插件使其作为其他编程语言(如C+、PHP)的开发工具。Eclipse本身 也只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的 IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDEoEclipse本身核心非常小,其设计思想

9、是“一切皆为插件”。其他功能都是 基于插件的形式与Eclipse无缝结合,协同工作,如Eclipse的图形API、多国语 言包等。在Eclipse启动后,要真正用到某个插件时,该插件才会被动态载入内存,不再被使用的插件会在适当的时候被清除内存,所以不必担心某些不常用的插 件消耗内存。插件机制使得Eclipse具有了无限扩展的可能。第二章拼图游戏概述游戏分析1.1.1 游戏规则本程序是针对贪吃蛇小游戏的JAVA程序,利用方向键来改变蛇的运行方向, 空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰 到壁或自身则游戏结束,否则正常运行。1.1.2 游戏玩法玩家用鼠标点击“游戏

10、”按钮,会出现一个含有“新游戏、暂停、继续”的 下拉框,点击“新游戏并且继续”按钮即可开始进行游戏,利用方向键来改变蛇的 运行方向,在菜单栏有“速度”的按钮,可以来选择蛇的运行速度。2. 2算法分析a.利用数组列表来存放蛇身的每一个节点。b.蛇的方向分别用四个整型常量表示:1上,2下,3左,4右。可利用 derection % c.是否等于newDer % 2来判断改变的方向是否一原来方向相 反。d.蛇吃食物算法:根据蛇头的方向,判断蛇头坐标与食物坐标关系,例如: 蛇头向上,则蛇头与食物的x坐标相同,蛇头y坐标比食物y坐标少10 (一个食 物或一节蛇身的长度)。e.蛇移动时,根据当前蛇头坐标向

11、蛇头方向前画一个节点作为新的蛇头,并 去掉蛇尾。2. 3架构分析该游戏包括七个大类分别是主类SnakeGame、类SnakeFrame、类Snake、类 Node、类 SnakePanel、类 StatusRunnable、类 SnakeRunnable。系统流程图如表2. 3:I * |ri是表2.3第三章贪吃蛇游戏的详细设计3.1游戏总体结构设计1 .主类 SnakeGame(1)主类为此程序的入口,定义了 SnakeFrame的对象frame,开始运行此程 序。2 .类 SnakeFrame(1)成员变量见表2表2主要成员变量成员变量描述变量类型名称状态标签Private JLabels

12、tatusLabel分数标签Private JLabelscoreLabel蛇面板private JPanelsnakePanel速度标签private JLabelspeedLabel蛇类对象private Snakesnake菜单条private JMenuBarbar游戏菜单JMenugameMenu帮助菜单JMenuhelpMenu速度菜单JMenuspeedMenu新菜单项JMenuItemnewltem暂停菜单项JMenuItempauseltem关于菜单项JMenuItemaboutltem慢菜单项JMenuItemslowltem中间菜单项JMenuItemmidItem快菜单项JMenuItemfastitem开始菜单项JMenuItemstartltem

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

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