1南京晓庄学院《JAVA程序设计》课程设计报告题目:贪吃蛇游戏系统的设计与实现姓名:刘婷婷学号:12130740班级:12软转1班指导教师:王铮完成时间2015年6月25号成绩:信息工程学院2015年6月目录1引言.........................................................11.1系统开发背景......................................................................................................................................11.2完成的主要工作.................................................................................................................................12需求分析和总体设计...........................................22.1需求分析与设计思路.........................................................................................................................22.1.1关键技术说明.......................................................................................................................22.1.2需求分析...............................................................................................................................22.1.3系统目录结构说明...........................................................................................................22.2系统功能设计.................................................................................................................................22.2.1蛇、食物的表示..................................................................................................................22.2.2蛇的移动..............................................................................................................................32.2.3蛇的移动方向......................................................................................................................32.2.4如何显示蛇身......................................................................................................................32.2.5蛇身的移动方向..................................................................................................................32.2.6吃到食物的判定..................................................................................................................33.1系统模块实现....................................................................................................................................43.1.1英雄榜模块实现....................................................................................................................43.1.2自定义模块实现....................................................................................................................83.1.3计时器模块实现..................................................................................................................113.1.4外挂模块实现......................................................................................................................11其实我是这学期才开始接触Java语言,所以做出这个游戏对我来说还蛮难的,其次,eclipse这个软件我也只是在刚结束的软件开发综述的课程里刚接触,所以做这个游戏的一开始很难,什么都要不停的请教同学,在做这个游戏的过程中也是不断查阅文献资料来完成的。做这个游戏过程中,我觉得最简单的应该算是计时器模块,最难得就是自定义模块,虽然设计内容繁多,过程繁琐但我的收获却更加丰富。......................124系统运行界面................................................13游戏开始界面..................................................13点击高级,出现16*30界面,左边显示雷数:99....................14点击自定义....................................................15点击排行榜....................................................15游戏成功......................................................16游戏开始点击外挂,标记处雷区..................................175课程设计总结................................................18《Java程序设计》课程设计1扫雷游戏系统的设计与实现1引言1.1系统开发背景贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面的原因是为了将我们自己的所学知识加以运用;另一方面,虽然很小就接触这个游戏,但是它的制作方法对我们而言还是很神秘的。我们希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。希望通过这次实践,我们能从中提高自己的编程能力。并从中学会从零开始分析设计程序。本游戏的开发语言为Java。开发工具选用EclipseJava是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。这里采用Java作为开发语言主要是基于Java的面向对象和可移植性。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。1.2完成的主要工作本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:(1)利用方向键来改变蛇的运行方向。(2)空格键暂停或继续游戏,并在随机的地方产生食物。(3)吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。《Java程序设计》课程设计22需求分析和总体设计2.1需求分析与设计思路2.1.1关键技术说明贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。贪吃蛇的核心算法时如何实现移动和吃掉食物,没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。2.1.2需求分析本软件是针对贪吃蛇小游戏的Java程序,利用方向键来改变蛇的运行方向,空格键暂停或继续游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。2.1.3系统目录结构说明对系统包结构、文件结构列表说明,如表2-1、2-2所示。表2-1文件名作用Dir.java指蛇的运动方向Egg.java代表食物,实现组成蛇身的单位---食物Snack.java代表蛇,该文件实现蛇类Yard.java代表蛇的活动区域2.2系统功能设计2.2.1蛇、食物的表示《Java程序设计》课程设计3我们可以把显示区域想象成一个大大地表格,里面的格子就是组成蛇的基本单位,一个格子代表一个食物,也可以代表蛇身的一部分,几块连在一起就是一条蛇。2.2.2蛇的移动蛇向前移动一步,可以看作是蛇头前面增加了一个节点,蛇的尾巴上少了一个节点(即去尾部加头部)2.2.3蛇的移动方向这里讨论蛇的移动方向控制。蛇的下一步移动到哪里,是由方向来控制的。这里我们用L,U,R,D代表蛇运动的4个方向。2.2.4如何显示蛇身显示蛇身,其实就是填充,即用颜色填充格子。2.2.5蛇身的移动方向(1)相反方向和上一次移动的方向相反的方向是相反方向,这种输入应该被忽略。这样可以防止蛇从自己的身体中穿过。(2)无效方向在蛇的这一次移动之后和下一次移动之前这个时间间隔内输入多个非相反方向,只是最后一个是有效方向,其他的都是无效方向。蛇的最终运动方向以有效方向为准。2.2.6吃到食物的判定这里是判定蛇头是否和食物重合就可以了,因为蛇的身体都是走蛇头走过的地方。《Java程序设计》课程设计43详细设计3.1系统模块实现3.1.1英雄榜模块实现一、实现原理点击游戏菜单下的扫雷英雄榜,弹出排行榜,有相应等级(初级、中级、高级)和成绩(扫雷完成时间)及玩家姓,开始时成绩都为999,玩家都为匿名,顺利完成一局扫雷后会自动弹出提示框提示输入姓名,提交后再次打开排行榜,刚刚提交的等级,成绩和玩家会改变和保存。二、关键代码分析publi