Java课程设计报告---扫雷游戏.doc_第1页
Java课程设计报告---扫雷游戏.doc_第2页
Java课程设计报告---扫雷游戏.doc_第3页
Java课程设计报告---扫雷游戏.doc_第4页
Java课程设计报告---扫雷游戏.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

东华理工大学长江学院课程设计报告封面java 课程设计题目:扫雷游戏姓名: 学号: 指导老师 : 黄国辉 设计时间:2012年4月2东华理工大学长江学院课程设计报告摘要摘要在今天,游戏日益快速更新的情况下,相信大家对windows 2000/xp系统提供的扫雷游戏或多或少都有所了解。闲暇时刻,玩玩扫雷游戏,不但有利于提高自己快速反应的能力,还有助于减舒缓压力,它是一款简单而有趣的游戏,本次课程设计就是要完成由java设计的一个简单扫雷游戏。abstract:nowadays,the game has been undated quickly, believer that everyone know more or less about the windows 2000/xp system provides the minesweeper game . leisure time, play the game, not only help us to improve our own rapid of reaction capability, and helps reduce stress, it is a simple and interesting games, the curriculum design is to be completed by the java design of a simple game of mine clearance.东华理工大学长江学院课程设计报告目录目 录一 需求分析41.1设计背景41.2可行性分析41.3功能分析4二 总体设计52.1 系统结构分析52.2 系统流程分析52.2.1 系统流程描述52.2.2 系统流程图52.3 系统模块设计62.3.1 模块一:随机布雷与初始化界面62.3.2 模块二:游戏各级别的选择与设计102.3.3 模块三:判断所点击的是否为雷133. 小结18东华理工学院长江学院课程设计评分表193东华理工大学长江学院课程设计报告需求分析一 需求分析1.1设计背景 随着社会的不断进步,人们所承受的压力不断上升,在游戏层出不穷的时刻,扫雷游戏仍受到不少人的青睐,其本身的性质,决定了人们对它的喜爱程度,不需要特殊的技巧,不需要不断地升级,不需要太多的时间进行初步的熟悉,简简单单却乐趣无穷。1.2可行性分析 适用于各种群体,学生、老师、白领. 简单却有效地舒缓压力,消磨闲暇时光 一局所需的时间很短,低级的只需十多秒1.3功能分析 随机布雷 可以选择相应的等级 显示一局完成的时间 判断错误时,待游戏结束时会有不同标记 4东华理工大学长江学院课程设计报告二 总体设计2.1 系统结构分析 根据系统的功能分析,可得系统系统总体的功能结构图,如下:图2.1-1系统结构图 2.2 系统流程分析2.2.1 系统流程描述 游戏初始页面为初级的游戏界面 点击开始便可开始扫雷 点击方块,系统判断是否点中了雷 点击开始可重新开始游戏 菜单中有“初级”、“中级”、“高级”三个级别可供选择2.2.2 系统流程图系统流程图如下: 图2.2-1系统流程图 2.3 系统模块设计2.3.1 模块一:随机布雷与初始化界面模块负责人 姓名: 学号: 1. 模块的主要任务 利用产生随机数的方法完成游戏中随机布雷的要求 初始化菜单,包括了游戏的三个不同级别2. 界面的截图部分源代码游戏的初始界面截图如下:图 2.3.1-1 初始界面页面初始化的源代码:/产生随机数for(int i=0;ibon;i+) int p=1; int m=(int)(math.random()*row*col); while(p=1) int l=1, int j; for( j=0;ji&l=1;j+) if(a1j=m) m=(int)(math.random()*row*col); l=0;if(j=i) a1i=m;p=0; b1.settext(bon+);b2.settext(0);/布雷for(int i=0;ibon;i+)int x=(a1i/col+1);int y=(a1i%col+1);axy=100;for(int i=0;irow+2;i+) for(int j=0;jcol+2;j+) if(i=0|j=0|i=row+1|j=col+1) aij=0; for(int i=1;i=row;i+) for(int j=1;j=col;j+) if(aij!=100) for(int l=j-1;l=j+1;l+) if(ai-1l=100) aij+; if(ai+1l=100) aij+; if(aij-1=100) aij+; if(aij+1=100) aij+; 游戏的菜单界面截图如下:图2.3.1-2 游戏菜单界面菜单页面设置部分代码:public void initgui() p3=new jpanel(); b=bon; jmenubar menubar=new jmenubar(); jmenu menu1=new jmenu(游戏); jmenu menu2=new jmenu(帮助); jmenuitem mi1=new jmenuitem(初级); jmenuitem mi2 = new jmenuitem(中级); jmenuitem mi3 =new jmenuitem(高级);mi1.addactionlistener(this);menu1.add(mi1);mi2.addactionlistener(this);menu1.add(mi2);mi3.addactionlistener(this);menu1.add(mi3);menubar.add(menu1);menubar.add(menu2);p3.add(menubar);b1=new jlabel(bon+); a1=new intbon;btn =new jbutton(开始);btn.addactionlistener(this);b2=new jlabel(0);b3=new jlabel(); btns=new jbuttonrow*col;p=new jpanel();p.setlayout(new borderlayout();contentpane.add(p);p.add(p3,borderlayout.north); p1=new jpanel();p1.add(b1);p1.add(btn);p1.add(b2);p1.add(b3);p.add(p3,borderlayout.north);p.add(p1,borderlayout.center);p2=new jpanel();p2.setlayout(new gridlayout(row,col,0,0);for(int i=0;irow*col;i+) btnsi=new jbutton(); btnsi.setmargin(new insets(0,0,0,0); btnsi.setfont(new font(null,font.bold,25); btnsi.addactionlistener(this); btnsi.addmouselistener(new normoremouseevent(); p2.add(btnsi); contentpane.add(p,borderlayout.north); contentpane.add(p2,borderlayout.center);2.3.2 模块二:游戏各级别的选择与设计模块负责人 姓名: 学号:1. 模块主要任务 选择相应级别候,出现相应雷数的游戏界面 多各个界别的方块大小,界面大小进行设置2. 界面的截图和部分源代码初级游戏界面截图如下:图2.3.2-1 初级游戏界面中极游戏界面截图如下:图2.3.2-2 中级游戏界面高级游戏界面截图如下:图2.3.2-3 高级游戏界面各级别游戏界面设计的源代码:if(e.getactioncommand()=初级) row=9;col=9;bon=10;a1=new intbon;b=bon;a = new introw+2col+2;this.remove(p2);timer.stop();b1.settext(10);b2.settext(0);b3.settext();btns=new jbuttonrow*col;p2=new jpanel();p2.setlayout(new gridlayout(row,col,0,0);for(int i=0;irow*col;i+) btnsi=new jbutton( ); btnsi.setmargin(new insets(0,0,0,0); btnsi.setfont(new font(null,font.bold,25);btnsi.addactionlistener(this);btnsi.addmouselistener(new normoremouseevent();p2.add(btnsi);else if(e.getactioncommand()=中级) row=16;col=16;bon=40;a1=new intbon;a = new introw+2col+2;b=bon;this.remove(p2);timer.stop();b1.settext(40);b2.settext(0);b3.settext();btns=new jbuttonrow*col;p2=new jpanel();p2.setlayout(new gridlayout(row,col,0,0);for(int i=0;irow*col;i+); btnsi=new jbutton( ); btnsi.setmargin(new insets(0,0,0,0); btnsi.setfont(new font(null,font.bold,25); btnsi.addactionlistener(this); btnsi.addmouselistener(new normoremouseevent(); p2.add(btnsi); else if(e.getactioncommand()=高级) row=16;col=32;bon=99;setsize(33*col,33*row+80);a1=new intbon;a = new introw+2col+2;b=bon;this.remove(p2);timer.stop();b1.settext(99);b2.settext(0);b3.settext();btns=new jbuttonrow*col;p2=new jpanel();p2.setlayout(new gridlayout(row,col,0,0);for(int i=0;irow*col;i+) btnsi=new jbutton( );btnsi.setmargin(new insets(0,0,0,0);btnsi.setfont(new font(null,font.bold,25);btnsi.addactionlistener(this);btnsi.addmouselistener(new normoremouseevent();p2.add(btnsi);2.3.3 模块三:判断所点击的是否为雷模块负责人 姓名: 学号:1. 模块任务 对雷的形状颜色进行设定 判断是否点击到雷,游戏胜利或输了的情况设置2. 游戏中的截图和源代码 中级游戏胜利后的截图,有红色圆圈标记的方块为雷区,在开始按钮的作则的数字“0”表示剩下雷的数目为0,其右侧的数据“111”表示游戏者在完成该局游戏所花的时间为111秒,在时间的旁边的文本框内显示的信息是游戏者的输赢情况。截图如下:图2.3.3-1 中级游戏胜利的截图“*o*”符号表示你标错雷的位置,初级游戏失败后的截图如下:图2.3.3-2 游戏截图程序部分代码:for(int i=0;icol*row;i+) if(btnsi.gettext()!=) btnsi.setforeground(color.red);int x=i/col+1;int y=i%col+1;if(e.getsource()=btnsi&axy=100) btnsi.settext();btnsi.setenabled(false);axy=10;for(int k=0;kcol*row;k+) int m1=k/col+1;int n1=k%col+1; if(am1n1!=10&btnsk.gettext()=) btnsk.settext(*o*); for(int j=0;jcol*row;j+) int m=j/col+1;int n=j%col+1; if(amn=100) btnsj.settext(); btnsj.setenabled(false); b3.settext(你输了 !); btnsj.setenabled(false); amn=10;timer.stop(); else if(e.getsource()=btnsi) if(axy=0) out(a,btns,e,i,x,y); axy=10; btnsi.setenabled(false); if(axy!=0&axy!=10) btnsi.settext(axy+); btnsi.setenabled(false); axy=10; class normoremouseevent extends mouseadapter public void mouseclicked(mouseevent e) system.out.println(b); for(int i=0;icol*row;i+) int x1=i/col+1;int y1=i%col+1;if(e.getsource()=btnsi&btnsi.gettext()!=&ax1y1!=10) if(e.getbutton()=mouseevent.button3) btnsi.settext(); b-; if(b=0) int

温馨提示

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

评论

0/150

提交评论