欢迎来到天天文库
浏览记录
ID:30075934
大小:162.00 KB
页数:24页
时间:2018-12-26
《软工java课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1《JAVA程序设计》课程设计报告 院系:计算机与信息工程学院题目:吞食蛇学生姓名:张聚营卢毛毛学生学号:2014449920144645专业班级:软一软二指导教师:吴光伟完成时间:2016年6月23号 1目录1需求分析31.1基本功能如下:31.2扩展功能:32设计32.1设计思路32.3系统功能模块42.4程序流程图4图2.262.5总设计模块的划分63功能的具体实现73.1重新开始73.2暂停73.3保存分数83.4加速减速94运行结果94.1游戏开始界面94.2蛇撞到自身结束游戏94.3蛇撞到墙面结束游戏104.4游戏暂停104.5游戏在
2、暂停或者运行时重新开始114.6游戏分数的保存11总结13参考文献14附录A源代码15评分表:231需求分析1.1基本功能如下:1.能够使用键盘控制吞食蛇的行动。2.能够随机生成食物,供吞食蛇吞噬。3.提供游戏的暂停和保存的功能。1.2扩展功能:4.提供难度的选择,如速度、地形。5.提供服务器,让玩家可以比较战绩。其他功能可以按照自己的兴趣进行创新添加。2设计2.1设计思路贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。游戏主界面模
3、块:游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、暂停游戏按钮、重新开始游戏按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。游戏控制模块:这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为:游戏主界面模块,游戏主界面模块等两个模块。图2.12.2设
4、计目标本软件是针对贪食蛇小游戏的JAVA程序,利用方向键来改变蛇的方向;按PageUp加速,PageDown减速;按空格键或P键暂停或继续游戏;按R键重新开始。并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行2.3系统功能模块Java源文件及其功能如表所示:1GreedSnake该文件为程序入口,含有main方法2SnakeControl控制器,控制蛇,食物,石头3SnakeModel该文件实现蛇类4SnakeView实现菜单控制运行等总体要求,实现方向键控制蛇方向,空格键或P键控制游戏暂停或继续,PageUp
5、和PageDown控制速度,R键控制游戏开始,还有分数等。2.4程序流程图本次游戏设计的处理流程如图。游戏开始键盘操作:向上向下向左向右加速减速没有吃到食物且蛇碰到边界或自身分数保存游戏中途欲中断,稍后继续游戏再次点击,游戏继续点击SpeedUp加SpeedDow点击确认结束游戏点击S保存点击空格或暂停图2.22.5总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。贪吃蛇游戏游戏主界面模块游戏控制模块图2.3游戏控制模块的主要框架如图3所示。游戏控制模块游戏的暂停功能游戏的重新开始游戏的保存图2.4
6、控制模块框架游戏暂停控制:点击“空格”按钮或P,游戏暂停;再单击,游戏继续。游戏重新开始控制:点击“R”键后,点击确定,即游戏重新开始。游戏保存控制:点击“S”键好,点击确定,退出游戏界面。游戏加速减速控制:点击“SpeedUp”加速,点击“SpeedDown”减速。3功能的具体实现3.1重新开始按R键使进行中的游戏或者暂停中的游戏重新开始,调用reset方法,相关代码如下:caseKeyEvent.VK_R://----按R键重新启动游戏model.reset();break;publicvoidreset(){direction=SnakeM
7、odel.UP;//蛇运行的方向timeInterval=200;//时间间隔,毫秒paused=false;//暂停标志score=0;//得分countMove=0;//吃到食物前移动的次数3.2暂停定义一个布尔类型,pause,初始化为false,再在无限循环运动running类运用if语句,具体代码如下:booleanpaused=false;booleanpaused=false;if(!paused){if(moveOn()){setChanged();//Model通知View数据已经更新notifyObservers();}els
8、e{JOptionPane.showMessageDialog(null,"youfailed","GameOver",JOptionP
此文档下载收益归作者所有