贪吃蛇游戏java课程设计_第1页
贪吃蛇游戏java课程设计_第2页
贪吃蛇游戏java课程设计_第3页
贪吃蛇游戏java课程设计_第4页
贪吃蛇游戏java课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宝鸡文理学院课程设计(报告)宝鸡文理学院计算机科学系《JAVA程序设计》课程设计报告题目贪吃蛇游戏姓名赵鹏飞张琦陈瑞李烨学号201096064073201096064077201096064072201096064016专业班级软工10级本02班指导教师谢俊屏杨碎明日期2011年目录1、课程设计任务及要求 11.1题目 11.2目的 11.3基本任务 11.4要求 11.5进度安排 11.6地点 12.需求分析 12.1项目概述 12.2功能需求 12.3其它需求 13、系统设计 13.1总体设计 13.2类的设计 13.3处理流程 14、设计体会与小结 15.参考资料 16.源程序代码 17.成绩 1第5页1、课程设计任务及要求1.1题目贪吃蛇游戏1.2目的复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握掌握java程序设计的思想、流程,企业要求代码规范性及在项目中的应用加强理论知识和实际应用的结合应用,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力培养学生在项目开发中团队合作精神,表达沟通、创新意识能力提高学生的科技论文写作能力1.3基本任务能在游戏面板中出现蛇和食物能通过键盘的上下左右键来控制蛇的移动能够设置音效是否开启;能够通过选择低级、中级、高级来设置蛇的爬行速度;贪吃蛇吞掉食物苹果一个,自身长度增加一;吞掉穿身宝物青蛙一只,增加一次穿身机会;吞掉穿墙宝物老鼠一只,增加一次穿墙机会;同时吃掉一个食物后会随机出现若干食物;贪吃蛇在碰到游戏面板的边缘时,如果有穿墙机会,继续游戏,穿墙次数减一,如果无穿墙机会,游戏结束;贪吃蛇在碰到自身时,如果有穿身机会,继续游戏,穿身次数减一,如果无穿身机会,游戏结束;在帮助界面里可以获得游戏的玩法1.4要求对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理系统设计要实用,编程简练、规范,可用,功能全面说明书、流程图要清楚,有解决问题办法总结要求上机调试通过设计上交内容:设计报告(按格式书写),源程序文件,可执行文件(包括资源文件)1.5进度安排和人员分工进度安排:2011年12月17日至工作分项12月17日18日19日20日21日六日一二三理论课需求分析需求评审编码设计报告撰写答辩1.6地点综合楼701,主楼6楼计算机软件实验分室2.需求分析2.1项目概述本项目是开发贪吃蛇游戏,它是一个老少皆宜雅俗共赏的益智类游戏,通过按键控制蛇的移动来吃食物,适于用户在空暇时刻放松身心休闲娱乐。2.2功能需求本项目主要功能有:1.选关:选择游戏难度级别,难度级别有低级、中级和高级三种模式。2.游戏:主要实现游戏的开始、暂停、继续、结束等功能,游戏开始,在游戏面板中出现蛇和食物,通过键盘的上下左右键来控制蛇的移动,并且蛇能够吃掉游戏面板中的食物,同时再随机出现另外一个食物,能够设置音效是否开启;能够通过选择低级、中级、高级来设置蛇的爬行速度;贪吃蛇吞掉食物苹果一个,自身长度增加一;吞掉穿身宝物青蛙一只,增加一次穿身机会;吞掉穿墙宝物老鼠一只,增加一次穿墙机会;同时,吃掉一个食物后会随机出现若干食物;贪吃蛇在碰到游戏面板的边缘时,如果有穿墙机会,则继续游戏,且穿墙次数减一,如果无穿墙机会,则游戏结束;贪吃蛇在蛇头碰到自身时,如果有穿身机会,则继续游戏,且穿身次数减一,如果无穿身机会,则游戏结束;在帮助界面里可以获得游戏的玩法;游戏中可以随时暂停、继续、结束游戏,蛇的开始、暂停、继续、结束都是通过按钮来控制。3.音效:控制游戏音效开关。4.帮助:显示游戏操作说明。5.关于:显示开发小组的信息。6.退出:退出游戏。2.3其它需求1.相关数据:蛇的初始方向为:向右蛇的初始位置为:左上角;蛇的初始长度为:3格,每格的宽度为:10高度为:10像素点蛇的单步距离为:1格,初始难度为低。2.游戏界面应该力求友好、美观、操作简单。3、系统设计3.1总体设计贪吃蛇游戏包含七个类:开始界面(MainFrame类)、主类(Snake类)、蛇类((SnakeBody类)、音效(Sound类)、游戏类(Mysnake类)、Action事件监听器类(MyActionListener类)、键盘监听器类(MykeyListener类)MainFrame类创建游戏界面,该类中嵌套了4个类,具体如下SnakeBody类(内部类)创建蛇对象,实现蛇吃东西,移动、添加蛇到地图上等功能。MySnake类(内部类)线程类,控制游戏的进行MyActionListener类(内部类)实现ActionEvent的监听。MykeyListener类(内部类)实现键盘事件监听,通过键盘控制蛇的运行方向。Sound类线程类,实现背景音乐的播放,提供给玩家的听觉盛宴Snake类(主类)这个类是主类,对游戏界面进行大小等的调节。Snake主类是通过创建MainFrame类对象进入游戏界面。3.2类的设计1.MainFrame类(1)成员变量见表3-1表3-1主要成员变量(属性)成员变量描述变量类型名称游戏控制按钮JButtonbeginpausevoicehelpaboutstop背景图片ImageIconbackpic宝贝图标Iconfrogmouse食物图标IconredAppleblueApple等级单选按钮JRadioButtonselect1select2select3游戏区按钮组JButton[][]gameArea数据显示区TextFieldtf1tf2tf3按钮容器JPaneltopright按钮组容器JPanelcenter标签文本框容器JPanelbottom实例对象SnakeBodyMySnakeSoundsnakethreadsound(2)方法见表3-2表3-2主要方法方法名称返回类型功能备注MainFrame无类型创建游戏窗口构造方法startvoid游戏初始化,启动游戏线程开始游戏initvoid初始化游戏2.SnakeBody类(内部类)(1)成员变量 (略加上)加上(2)方法见表3-3表3-3主要方法方法名称返回类型功能备注SnakeBody无类型初始化蛇构造方法movevoid实现蛇的移动foodsvoid产生食物3.MySnake类(内部类)(1)成员变量 (无)(2)方法见表3-4表3-4主要方法方法名称返回类型功能备注runvoid使蛇连续移动方法重写4.Sound类(1)成员变量 (略)(2)方法见表3-5表3-5主要方法方法名称返回类型功能备注runvoid读取音乐文件方法重写5.Snake类 (1)成员变量 (无)(2)方法见表3-4表3-6主要方法方法名称返回类型功能备注Snake无类型设置游戏窗口位置方法重写mainvoid建立游戏主方法3.是否否S是否否Start是否遇到食物青蛙苹果老鼠len+1Thoughbody+1Thoughwall+1蛇头前移是否碰到自身或墙游戏结束蛇头前移否是穿身穿墙次数小于0显示结束信息是是是进入游戏,获取并设置蛇运行速度否图1处理流程

.3.3界面设计1)游戏开始界面:图2游戏开始界面2)运行界面:图3运行界面3)穿墙界面:图4穿墙界面4)穿身界面:图5穿身界面5)帮助界面:图6帮助界面6)关于界面:图7关于界面4、设计体会与小结我们是追梦小组,有赵鹏飞、张琦、陈瑞、李烨四名成员组成,本着青春如火,超越自我;挥舞激情,梦想起航的口号,追逐着梦想的方向,为达到我们共同的最终的梦想而奋斗,坚信我们有着蛇一样的韧性,是最棒的!组长将组员们分工为:组长赵鹏飞:编写和完善代码张琦:编写文档陈瑞:美化游戏界面李烨:搜索资料赵鹏飞(组长):作为这次Java课程设计的组长,我深深地感受到了我肩上的重担:和组员一起共同筑就我们的梦想。这不止是一个学习的过程,同时也是提升自我、超越自我的过程。本着“青春如火,超越自我;挥舞激情,梦想起航”的口号,我带领着我的组员们去撷取智慧之光,追逐梦想,完成我们贪吃蛇游戏的代码编写和调试。对于我们来说,每一项任务都是一个艰巨的挑战,可是,年轻就是来挑战梦想的,因此我们无所畏惧。对于这次游戏代码的编写,我注重在字斟句酌,因为一个不起眼的问题,有时甚至会导致系统崩溃,所以我会多点时间思考每句代码的编写。出现问题后,我并未急着修改,思考和推测了可能出现的原因,能解决的尽量解决;若是遇到了自己难懂的问题和解决不了的问题,我仍然满怀信心,相信没有解决不了的问题:请教老师,咨询同学,从图书馆查找参考资料,在网上搜索解决方案……总之,我会用各种不同方式来尽力解决摆在我眼前的难题。因为我是组长,所以我必须得尽力做到完美,这样才能使每位组员对我信服,才能很好的领导我们每个组员来完善我们的工程。从开始到最后,我尽力做到努力让每个组员都明确到:一个人的力量是有限的,但是如果能够团结大家的力量,那就能够创造奇迹!我相信世界上没有完美的个人,但有完美强大的团队!期待着我们的成功!张琦:Nothingsucceedwithoutastrongwill!这是我做Java课程设计的这几天里感触最深的一句话。我们组选择了贪吃蛇游戏,希望我们小组能像蛇一样顽强有韧性。虽然只有四名成员的追梦小组感到了旅途艰难,可是我们不畏惧,因为做每件事都要有很强的毅力,坚持不懈的精神和不屈不挠的决心,并坚信努力终会有成果。我知道:世上无难事,只怕有心人。只有百折不挠地试验试验再试验,才会有成果。这次的课程设计既要求了我们每个人必须将自己所学的知识与实践融汇贯通起来,又要求了我们必须有很强的团队精神来配合每位组员来完成每项任务。软件开发确实是一件很累的活,要很好的完成这项任务,首先我们得要有一定的软件基础知识功底和英语水平,还有就是多熟练掌握各种工具的用法,像是eclipse、photoshop之类的软件。只有坚持不懈的努力做好每一项小任务,然后才能串成我们的大任务。这次的贪吃蛇游戏的实践也让我认识到自己的能力还不够,缺乏设计思想,相应的知识还欠缺很多。同时这次Java课程设计的实践让我也进一步的了解了Java的编程思想和类的封装性、继承性,事件的处理等问题。今后的我会更加努力来增强自己的文化学习知识,让自己更加充实!陈瑞:四天的Java课程设计已经快要结束了,在这四天里,我们实践着,学习着,也在进步着。我们小组做的是贪吃蛇游戏,虽然学了一学期的Java,也写过不少的程序,可是做这个程序还是觉得很难,为了做好这个课程设计,我们上网查资料,找相关音乐,用PS做界面图片,在老师的指导下,我学会了如何添加背景音乐和图片。在这次课程设计中,我体会最深的是平时的动手实践太少,虽然课本上学到了不少,但是要把课本上学到的理论和实践结合起来也不是那么容易,我们必须在现有的理论基础上,不断地进行实践操作,才能有所进步,而不是只停留在理论知识上。这次课程设计不仅培养了我的动手实践能力,还增强了我团队合作的能力,在组长的带领下,我们小组成员相互帮助,共同努力,才完成了这次课程设计,在这个过程中我体会到了团队合作的快乐。最后,我决定在以后的学习中,多动手进行实际操作,在实践中,总结经验,达到事半功倍的效果,希望我可以在实践的殿堂里自由翱翔!李烨:我在学习了Java之后,发现Java在现实生活中的应用非常广,以及Java课程学习的重要性,而我们所学的知识都只是最基础的东西,是沧海一粟。想要学习更深、更专业的东西,我必须不仅在电脑上多操作,还需要更加深度的加深理解力,尤其在编写实用的软件时,更是需要。所以,只有在现在打好基础,以后才能更好的运用。通过这次的课程设计,我学到了很多,不只是我们的团队合作能力,还有在单纯掌握实际操作的基础上,我们必须加强与计算机网络有关的其他方面的学习,如英语。计算机网络技术的发展与英语是密不可分的,没有英语基础的人是很难学好这门技术的。总之,这次的实验提高了我的动手实践能力,也使我对Java更加有兴趣。Java面向对象程序设计是我们专业的一门主要的专业基础课程,其实践性和应用性很强,在加深对许多理论知识的了解,也要注重实践与理论的结合,让我学的更有成效。今后的我会更加努力向学习的更深处前进!5.参考资料[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:清华大学出版社,20066.源程序代码本项目共有3个程序文件和14个资源文件,文件列表如下:程序文件MainWindow.javaSnake.javaSound.java2.资源文件01.jpg02,JPG02.png03.PNG04.png05.png06.jpg07.jpg12.jpg13.JPG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论