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

下载本文档

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

文档简介

存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称JAVA课程设计题目贪吃蛇游戏设计分院专业班级学号指导教师华东交通大学理工学院课程设计报告第21页共21页华东交通大学理工学院课程设计(论文)任务书专业班级姓名一、课程设计(论文)题目贪吃蛇游戏设计二、课程设计(论文)工作:自2012年12月17日起至2012年12月27日止。三、课程设计(论文)的内容要求:内容:贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、暂停、退出等功能。要求:a)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理b)系统设计要实用,编程简练、规范,可用,功能全面c)说明书、流程图要清楚,有解决问题办法总结d)要求上机调试通过e)设计上交内容:设计报告,源程序文件,可执行文件学生签名:2012年12月27日序号项目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5任务难度评价6设计中创新性评价7论文书写规范化评价8综合应用能力评价综合评定等级课程设计(论文)评阅意见评阅人职称教师2012年12月27日

目录课程设计内容及要求5课程设计目的和意义6设计思路及处理流程8设计结果及代码10程序设计心得18参考文献20第一章课程设计内容及要求内容:贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现开始、退出、选择游戏难度等功能。给出1条小蛇和随机出1个食物当小蛇吃到食物时就加分。要求:a)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理b)系统设计要实用,编程简练、规范,可用,功能全面c)说明书、流程图要清楚,有解决问题办法总结d)要求上机调试通过e)设计上交内容:设计报告,源程序文件,可执行文件第二章课程设计目的和意义目的:a)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握b)掌握java程序设计的思想、流程,企业要求代码规范性及在项目中的应用c)加强理论知识和实际应用的结合应用,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力d)培养学生在项目开发中团队合作精神,表达沟通、创新意识能力e)提高学生的科技论文写作能力。f)游戏形状(方块)需求,良好的方块形状设计,绘制小蛇和食物,小蛇由几个方块组成,食物由1个方块组成意义:本次程序设计在于学习Java程序设计基本技术,学习用JBuilder开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。本次课程设计题目还主要应用到JAVA面向对象程序设计语言中Swing组件和GUI(图形用户界面)当中的一些知识,当然也用到JAVA中大部分基础知识,如JAVA的基本控制结构、数组、输入与输出等等。第三章设计思路及处理流程设计思路:贪吃蛇游戏设计与实现主要分为以下二个模块游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。游戏主界面模块:游戏的主界面是进入游戏后能够给玩家第一感官的部分主要包括游戏图形区域界面、新生方块的预览、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观和爽心悦目。游戏控制模块:这个模块是游戏的中心环节。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。本设计所开发的是基于Java的一个贪吃蛇游戏软件。处理流程,如下图:单击单击“开始游戏”按钮,游戏开始,蛇开始随机。键盘操作:向上左移右移向下没有吃到食物且蛇碰到边界单击“重新开始游戏”游戏中途欲中断,稍后继续游戏单击“Space或P暂停游戏”游戏暂停进入游戏画面再次单击开始游戏按钮,游戏恢复图2-1游戏处理流程图第四章设计结果及代码游戏界面,程序运行完,点击游戏,开始游戏,利用方向键来控制游戏:游戏开始界面,点击它里面的开始游戏则进行游戏,点击退出游戏则退出:游戏困难程度界面,有简单、普通、困难三种程度,点击其中一种,开始游戏:积分排行界面,用于储存最高分数,点击它可以查询玩此游戏的最高分数,让玩家可以去突破:本程序在运行后,能够正常的相应按键事件。进入主界面后单击游戏,会弹出它的子菜单,然后选择开始游戏此时就会触发ks(开始游戏)事件,此时会出现蛇和食物,通过键盘的控制可以实现蛇的移动方向以及移动速度。当吃到事物的时候蛇的长度就增加,当蛇的长度增加时移动的速度也会加快,并且会随机出现新的食物。当吃不到食物或者碰到了墙壁或者碰到了自身时就会死亡。单击难易程度菜单时弹出它的子菜单,有简单,一般和困难,分别控制游戏的难易程度,单击积分排行时会出现最高分的记录。程序代码如下:packageSnakeGame;importjava.awt.Color;//导入相应的文件,不导入则会报错importjava.awt.Graphics;//图形,图形处理importjava.awt.Toolkit;//成套工具importjava.awt.event.ActionEvent;//导入相应的类,指示发生了组件定义的动作的语义事件,事件源:由它们来引导相应事件的发生importjava.awt.event.ActionListener;//用于接收操作事件的侦听器接口importjava.awt.event.InputEvent;//导入java.awt.event包里面的InputEvent类,就可以用InputEvent里面的函数了importjava.awt.event.KeyEvent;importjava.awt.event.KeyListener;importjavax.swing.JCheckBoxMenuItem;//把javax包里面的swing包里面的“。。。”引进来importjavax.swing.JFrame;//框架importjavax.swing.JMenu;importjavax.swing.JMenuBar;//菜单栏importjavax.swing.JMenuItem;//菜单选项importjavax.swing.JOptionPane;//选择窗口importjavax.swing.KeyStroke;//按键publicclassSnakeGameextendsJFrameimplementsActionListener,KeyListener,Runnable{//publicvoidrun()方法主要用来完成游戏主体运行流程控制功能publicvoidrun(){time=500;for(i=0;i<=length-1;i++){m[i]=90-i*10;n[i]=60;}创建游戏的菜单以及按钮,其内容为开始和退出游戏,困难程度,最高积分,关于。publicSnakeGame(){setVisible(true);menuBar=newJMenuBar();toolkit=getToolkit();youXiMenu=newJMenu("游戏");kaiShiYouXi=newJMenuItem("开始游戏");exitItem=newJMenuItem("退出游戏");nanDuMenu=newJMenu("困难程度");cJianDan=newJCheckBoxMenuItem("简单");cPuTong=newJCheckBoxMenuItem("普通");cKunNan=newJCheckBoxMenuItem("困难");fenShuMenu=newJMenu("积分排行");fenShuItem=newJMenuItem("最高记录");guanYuMenu=newJMenu("关于");zuoZheItem=newJMenuItem("关于作者");………if(growth==0){reform();//得到食物}else{upgrowth();//生成食物}……this.repaint();//重绘}}voidisDead(){判断游戏是否结束的方法if(z==4){x=x+10;}………当蛇吃到东西时的方法publicvoidupgrowth(){if(length<50){length++;}……….设置背景publicvoidpaint(Graphicsg){g.setColor(Color.DARK_GRAY);//设置背景g.fillRect(0,50,400,400);g.setColor(Color.pink);for(i=0;i<=length-1;i++){g.fillRect(m[i],n[i],10,10);}游戏结果g.setColor(Color.green);//蛇的食物g.fillRect(objectX,objectY,10,10);g.setColor(Color.white);g.drawString("当前分数"+this.life,6,60);g.drawString("当前已吃食物数"+this.foods,6,72);第五章程序设计心得通过这次课程设计,我对这学期所学的JAVA语言程序设计有一个更深刻的了解,将所学的知识应用于实践,由于所学知识有限,为了使游戏能够实现自己预先的构想,我通过上网和去图书馆找程序,比较好的流程图及功能模块,不断阅读修改代码使程序达到预期所要实现的目标,完成课程设计后,可以感觉到自己对Java程序的又有了新的认识。虽然花了好大劲做完了这个小程序,但是其中还是有很多不足的地方,首先由于我的个人能力有限,没有设置贪吃蛇的暂停与继续,没有给游戏添加背景音乐只设置了重新开始和推出游戏以及难易程度,最高纪录。再者贪吃蛇的界面设置的不够好看,我是根据java课程的大实验做的,所以将模块功能的按钮放在了菜单里边,这样玩家看到的游戏界面给玩家身临其境的感觉不是很强。即便是程序有好几处不足的地方,但是还是有优点的,如可以使用键盘是蛇移动的速度加快,能将玩家的分数进行记录。能够显示最高纪录,当蛇吃到事物的时候会有系统的提示音,可以设置游戏的难易程度等。希望在以后的实践中能够将这些不足都改掉,首先添加上暂停和继续功能,这样就方便了玩家在玩的过程中有事的话就可以暂停游戏等到忙完了在接着玩,添加上这个功能之后贪吃蛇这个游戏显得更加人性化。再者将画布分成两个区域,左边用来放游戏的主界面(贪吃蛇的运行及食物),右边放置功能按钮,这样玩家在玩得过程中如果想改变一下玩的难易程度等时就不用点击菜单,直接点击自己想要的就可以实现,这样就方便了玩家,也使游戏界面显得更加的具有游戏的特色。

第六章参考文献(资料)1.[美]RogersCadenhead.Java编程进门经典.梅兴文译.第4版.北京:人民邮电出版社,20072.[美]BruceEckel.ThinkingInJava.英文第4版.北京:机

温馨提示

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

评论

0/150

提交评论