《Java应用开发》课程设计报告题目:JAVA小游戏-贪吃蛇指导老师:姓名:专业:班级:日期:目录一、系统总体设计.................................1(一)设计目标及完成功能........................1(二)系统结构设计..............................1二、详细设计.....................................2(一)界面设计...................................2(二)系统设计...................................4(三)关键技术及算法.............................6四、测试.........................................7五、安装使用说明.................................7总结(体会).....................................8参考文献.........................................8一、系统总体设计(一)设计目标及完成功能本软件是针对贪吃蛇小游戏的JAVA程序,利用上、下、左、右方向键来改变蛇的运动方向,长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏,在到达固定的分数后,游戏速度会加快。1.窗口功能说明:设计了三个窗口,分别是游戏主窗口,成绩窗口,游戏帮助和关于作者窗口。2.菜单栏分别为:游戏菜单和帮助菜单其中,游戏菜单包括开始游戏和退出游戏两项;帮助菜单包括游戏帮助和关于作者两项。(二)系统结构设计图1-1系统结构图游戏窗体游戏菜单分数排行帮助菜单开始游戏退出游戏关于作者游戏帮助二、详细设计(一)界面设计贪吃蛇游戏的基本运行界面(1)生成初始界面:图2-1初始界面(2)游戏菜单栏:图2-2游戏菜单(2)积分排行菜单栏:图2-3积分排行菜单(3)进行游戏界面:点击“游戏”,进入游戏菜单,选择“开始游戏”,或者使用快捷键“Ctrl+O”来开始游戏。红色为贪吃蛇的身体部分,黑色方块为食物。得分后,分数和得到食物数在左上角处实时显示。图2-4进行游戏(5)游戏结束界面:当蛇撞到墙壁或者自身的时候游戏结束。图2-5游戏结束界面(二)系统设计表2-1主要事件监听接口事件监听器接口接口中的方法所处理的事件ItemListenerItemEventeItemEventActionLisenteractionPerformed(ActionEvente)ActionEvent表2-2主要成员变量成员变量描述变量类型名称蛇类对象PrivateThreadsheShe绘制面板paint(Graphicsg)g菜单条newJMenuBarmenuBar游戏菜单JMenuyouXiMenu开始游戏菜单项JMenuItemkaiShiYouXi退出游戏菜单项JMenuItemexitItem积分排行菜单JMenufenShuMenu最高纪录菜单项JMenuItemfenShuItem帮助菜单JMenuguanYuMenu游戏帮助菜单项JMenuItemyouXibangzuItem关于作者菜单项JMenuItemzuoZheItem表2-3主要方法方法名功能getContentPane()创建蛇的面板addKeyListener监视器JMenu()创建菜单JMenuItem构造菜单项setBounds()设置尺寸run()蛇的运动状态check()检查状态isDead()判断游戏是否结束reform()蛇吃到食物后增加方法upgrowth()生成食物的方法keyPressed()按键方向的定义(三)关键技术及算法程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。当到达一定分数后蛇的运动速度将加快。记分排行的功能是将得分最高的玩家信息储存,其余玩家的信息将被删除。得分和食物数将在窗口中实时显示。四、测试测试内容:本系统测试的主要内容为功能测试,界面测试。详细的说,是对游戏的开始新游戏、退出、查看最高成绩、计时、统计分数等功能进行测试,并测试程序的鼠标点击事件、菜单的响应及按键响应等事件。测试结果:能正确实现功能要求。要求输出的效果与预期的输出效果完全一致。五、安装使用说明系统配置说明设备:硬件最低要求:CPUPentium以上PC服务器。操纵系统:支持WindowsXP以上的操作系统。软件:JDK1.5;JCreator4.50Pro总结(体会)回顾这个设计过程,我学到了许多书本上没有学到的知识。通过这次自己制作的软件,丰富了自己的实践技能,扩展了本专业的知识面,使我受益非浅,同时也体验到了搞软件开发的困难度。在这次设计的同时,我又从中学到了许多东西。但由于我对这样的软件开发还只是一个开始,了解的不多,这其中或许还有很多的不足,有些模块做得不是很好,界面的设计及整体的布局还比较简单,没有突出特色出来,这也可能是我这个系统的不足之处,在这里也恳请各位老师能够对我的作品指明不足并加以改正。总之,在这一次的课程设计过程中,我查阅了大量的资料,对Java有了一点初步的认识,对于软件工程这些辅助性的教材也巩固了不少,为我这次的课设提供了很大的帮助,锻炼了我的能力让我掌握了一门新的程序设计语言:java语言,系统地学习了数据库方面的知识,并更进一步提高了我在程序设计、调试方面的技巧。更重要的是,它还让我认识到了自己的不足,在编程方面,我仅仅是刚刚入门而已,以后的道路任重道远,需要我不断的丰富自己、充实自己,这样才能在程序设计方面有所收获。参考文献[1]沈泽刚,秦玉平.Java语言程序设计[M].清华大学出版社,2009[2]陈昊鹏[同译者作品].Java编程思想(第4版).机械工业出版社,2007[3]耿祥义,张跃平.Java实用教程(第三版).清华大学出版社,2006