-【优秀文档资料】JAVA课程设计报告标准格式(吴国文)(打印版)_第1页
-【优秀文档资料】JAVA课程设计报告标准格式(吴国文)(打印版)_第2页
-【优秀文档资料】JAVA课程设计报告标准格式(吴国文)(打印版)_第3页
-【优秀文档资料】JAVA课程设计报告标准格式(吴国文)(打印版)_第4页
-【优秀文档资料】JAVA课程设计报告标准格式(吴国文)(打印版)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、淮海工学院计算机工程学院课程设计扌艮告设计名称:面向对象课程设计选题名称:益智类小游戏的设计与实现姓 名: 吴国文 学 号: 510856111专业班级:d软件081系(院):计算机工程学院设计时间: 20106142010627设计地点:软件实验室.教室成绩:指导教师评语:签名:1. 课程设计目的设计目的:血向対象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后 进行的一次较全面的综合练习。其冃的在于通过实践加深学生对面向对象程序设计的理论、方法和革 础知识的理解,掌握使用java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际 问题、解决实际问题的能力。2

2、. 课程设计任务与要求:课程设计可选用eclipse、jbuilder. netbeans等作为开发平台以提高开发效率,尽可能熟练掌 握其中一种集成开发环境。建议采用uml建模技术进行系统的分析设计,在visio中画出系统用例图 和类图,并将uml图复制到设计报告中。(1) 每位同学通过智能教学平台碍捉交町独立运行的应用程序,要求程序书写规范,源程序需加 必要的注释;(2) 每位同学需独立提交书面设计报告书(每人一份),要求编排格式统-、规范、内容充实, 同时通过教学平台捉交设计报告电子版;设计报告书封而和正文格式要符合淮海工学院课程设计报告 书封而与止文标准格式要求,设计报告内容不少5000

3、字。其正文一般应包括需求分析、概要设计、 详细设计、调试分析、运行界面(附主要代码)、测试结果、附录或参考资料、心得体会等内容。(3) 提交h期:第20周周一(2010年7月5日)之前。3. 课程设计说明书本次设计要达到的目标分别从以下模块进行阐述:游戏主界面模块:游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包描游戏图形区域界面、 游戏的速度选择更新界而、游戏分数的显示更新界而、新生方块的预览、游戏开始按钮、 暂停游戏按钮、退出游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的 兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。游戏控制模块:这个模块是游戏的中心环节,主要

4、完成控制游戏的开始、暂停、退出等功能。为了 能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。1.4设计实现功能和目标本设计所开发的是基于java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出、 等功能,分为:游戏主界面模块、游戏控制模块以二个模块。性能:本软件在设计方而本着方便、实用及娱乐性高的宗旨,在对界而进行设计的过程屮,始 终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。游戏主界面模块:主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。游戏的主界面 应该力求美观,爽心悦目。游戏控制模块:主要完成控制游戏的开始、暂停、退出等功能,这部分应该做到易懂、

5、易操作而且准确 率咼,不易出错。1.5游戏设计环境木次课程设计所涉及和实现的是用java编程语言开发的贪吃蛇游戏。本次设计的系统环境及工具如下:运行环境:windows xp编程语言:java3.分析与设计(1) 游戏处理流程。本次游戏处理流程如图1所示。游戏结束图1游戏流程设计(2)功能模块设计。软件开发过程屮的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。包括 如何把该游戏划分成若干个模块,决定各个模块之间的接口、模块之间传递的信息,以 及模块结构的设计等。(3)游戏功能本系统主要完成一下几个方面的功能:1. 游戏控制功能一一包括游戏的开始、暂停、退出2. 界面布局3. 其他辅助

6、功能(4)总设计模块的划分根据游戏游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计, 如图2所示。图2游戏总设计模块(5)游戏煮界面模块游戏界而主框架主要包括游戏图形区域界而、游戏的开始按钮、暂停按钮、游戏的退岀 按钮。游戏界面主框架的主要结构如图3所。游戏的主界而框架iff即戏戏游图控戏形制画区按布域钮界 而图3游戏上界面框架(6)游戏控制模块游戏控制模块主要通过主界面上的按钮來控制游戏的开始、游戏的暂停、游戏的退出这 三个功能。在这个模块屮,需要给各个按钮或文木框加入代码,来对上述的功能加以进 一步的实现。游戏控制模块的主要框架如图4所示。游戏控制模块两戏的的开始功能戏的退

7、岀功能图4游戏控制模块框架1. 游戏开始控制:单击“begin”按钮,游戏应布既有移动的贪吃蛇出现,游戏正式开 始2. 游戏退岀控制:单击“x”按钮,退岀游戏。(7)类模块设计1类模块之间的关系通过对功能要求的分析,将贪吃蛇游戏功能划分为6个类模块,他们的关系如图5所示。图5贪吃蛇之间的关系(8)各类模块设计概要1 .greedsnake 类greedsnake 类该类包含main方法,为应用程序的主类。该类用来创建游戏的用户界而,整个程序从该 类的main方法开始执行。snakeframe 类用来设计游戏的用户界面。snakepanel 类设置游戏运行状态,设置蛇头颜色,背景颜色,随机块颜色

8、,移动以及分数更新,实现 上卜'左右移动的方法接口。snakemodel 类设置初始化蛇的形状和运行方向,设置随机块的位置,判断游戏是否出界,以及出界后 的处理,设置方向的更新。arrayindex 类用來得到坐标,设置坐标以及判断运行方向相同或相反。arraylndexreadonly 类用来得到坐标,以及判断运行方向相同或相反。(9) 详细设计1程序的主要结构:木次所设计贪吃蛇游戏程序的主结构如图6所示。图6贪吃蛇程序主结构2.类模块流程图greedsnake 类创建snakeframe窗口类的一个实例0设置关闭窗口按键和窗口高度宽带图7greedsnake类程序流程图图losna

9、kemodel类程序流程图arraylndexreadonly 类构造函数得到坐标y设置与运行方向相同和相反的表示方法图11 array i ndexreadon i y类程序流程图arrayindex 类图12 ar ray index类程序流程图4.课程设计成果打开贪吃蛇游戏后,出现如图14所示界而。图14点击“begin”出现如图15界而。图15按“ t”控制蛇的方向,如图16所示。图16吃了足够的果实游戏结束,出现“you win”,如图16所示。图16蛇碰到边界则游戏结束,出现“game over",如图17所示。图17蛇碰到口己的身体则游戏结束,如图18所示。图18木次实

10、验部分源程序代码:import java, awt*;import javci. awt. eve nt.*; public class greedsnake /主类/* ©param args*/public static void main(string args) / todo auto-generated method stubnew mywindowo ;;)class mypanel extends panel implements keylistener, runnable/fl定义面板类,继 承了键盘和线程接口button snake ; /定义蛇按钮int shu=

11、0; /蛇的节数int food; /食物数组boolean result二true; /判定结果是输还是赢thread thread; /定义线程static int weix, weiy; /食物位置 boolean t=true; /判定游戏是否结束 int fangxiang=o; /蛇移动方向 int x二0, y二0; /蛇头位置mypanel ()setleiyout (null);snake=new button20;food=new int 20;thread=new thread(thi s);if (shu=15) /如果蛇节数等于15则胜利t二false;resuit二

12、true;repaint ();i丿1)public void keypressed(keyevent e) /按下键盘方向键if(e. getkeycode () =keyevent. vk_rigiit) /右键if (fangxiang!=l)/如果先前方向不为左fangxiang=0;丿1else if (e. getkeycode()二二keyevent. vk left) if (fangxiang!=0)fangxiang=l;ielse if (e. getkeycode() =keyevent. vk_up) if(fangxiang!=3)fangxiang二2;;else

13、 if (e.getkeycode()=keyevent. vk down) if(fangxiang!=2)fangxiang二3;public void keytyped(keyevent e);public void keyreleased(keyevent e) public void paint (graphics g) /在面板上绘图int xl=this. getwidth()-l; int yl=this. getheight ()-1;g. setcolor (color.red);g. filloval (weix, weiy, 10, 10) ;/食物g. drawrec

14、t (0, 0, xl, yl) ; /墙if(t=false&&result二二false)g. drawstring("game over!", 250, 200) ;/输出游戏失败else if(t二二false&&resuit二二true)g. drawstring("you win!", 250, 200) ;/输出游戏成功1j)class mywindow extends frame implcments actionlistcncr/自定义窗口类 mypanel my;button btn;panel pan

15、el;mywindow ()super (z/greedsrmke);my二new mypanel ();btn=new button ("begin");panel二new panel ();btn. addactionlistener (this);panel, add (new label ("begin 后请按 tab 键选定蛇);panel. add (btn);panel, add (new label (按上下左右键控制蛇行动);add(panel, borderlayout. north);add(my, borderlayout. center)

16、;setbounds (100,100,610,500);setvisible (true);validate();addwindowlistoner(new windowadaptcr ()public void windowclosing(windowevent e)system, exi t (0);i);丿1public void actionperformed(actionevent e)/按下 begin 按钮if (e. getsource()=btn)trymy. thread, start () ; /开始线程my. validate。;)catch (exception ee)5.课程设计心得通过这次课程设计,我对上学期所学的java语言程序设计冇一个更深刻的了解,将所 学的知识应用于实践,山于所学知识有限,为了使游戏能够能够实现自己预先的构想,我们 这组通过上网找代码和去图书馆借书找程序,比较画好的流程图及功能模块,不断阅读修改 代码使程序达到预期所要实现的目标,完成课程设计后,可

温馨提示

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

评论

0/150

提交评论