java(J2EE)课程设计报告 (18)1_第1页
java(J2EE)课程设计报告 (18)1_第2页
java(J2EE)课程设计报告 (18)1_第3页
java(J2EE)课程设计报告 (18)1_第4页
java(J2EE)课程设计报告 (18)1_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、烟台工程职业技术学院机电工程系计算机专业09301级课程设计(论文)题目: 扫雷游戏 姓名 学号 指导教师(签名) 二零一一年七 月 十五 日一标题运用java编程的扫雷游戏,简单好玩二摘要摘要:系统的整体布局为:cardlayout布局, 采用了菜单、按钮、面板等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出, 按钮的功能是重新开始新的游戏。三前言这个游戏运用java设计小游戏,可以把所学的知识运用到实践中,是所学的知识得到巩固,也可以让别人有个借鉴。运行在window和xp上。此游戏很受喜爱。四正文minearea类是javax.swing包中jpanel容器的子类,实现了act

2、ionlistener和mouselistener接口,所创建的对象:minearea是minegame类中最重要的成员之一,作为一个容器添加到minegame窗口的中心。标明minearea类的主要成员变量、方法以及和minegame类之间组合关系的uml图如图2-1所示。图2-1 minearea类的uml图1、成员变量(1)block是block类型的数组,用来确定雷区有多少需进行扫雷的方块。(2)blockview是blockview类型的数组,负责为block数组中的block对象提供视图。(3)lay是laymines类型的对象,负责设置block数组中的哪些方块是雷或不是雷。(4

3、)record负责提供保存成绩的界面,是一个对话框,默认不可见。用户只有扫雷成功后(用时最少),才可以看见对话框。(5)restart是一个按钮对象,用户单击它重新开始游戏。(6)time是计时器对象,负责计算用户的用时。2、方法(1)initminearea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度、高度、雷的数目以及雷区的级别。(2)actionperformed(actionevent)是minearea类实现的actionlistener接口中的方法。当用户单击blockview中的某个方块时,actionperformed(actionevent)方法负

4、责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionperformed(actionevent)方法将使用户输掉本局,若该方块下无雷,actionperformed(actionevent)方法将显示blockview对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。(3)show()方法是一个递归方法。actionperformed(actionevent)方法执行时将调用show方法进行扫雷。(4)mousepressed(mouseevent)方法是minearea类实现的mouselistener接口中的方法,当用户按下鼠

5、标有件事mousepressed(mouseevent)方法负责让方块上显示一个探雷标记。(5)inquirewin()方法用来判断用户是否扫雷成功,如果成功该方法负责让record对话框可见。所谓扫雷成功是指不仅找到了全部的累而且用时最少。综上所述,minearea创建的扫雷区域效果如图2.2.2所示。music类是java.awt包中frame的子类,通过构造音效声音方法,在mainframe主类中,通过actionlistener来监视是否已开始游戏,来决定播放计时声,之后又通过actionlistener来监视是否踩到雷和是否完成来决定,播放相应的音乐。下面标明music类的主要成员变

6、量、方法以及和mineframe类之间组合关系的uml图如图2-2所示。图2-2 minearea类的uml图logdialog是javax.swing包中jdialog对话框的子类,并实现了actionglistener接口。logdialog创建的对象dialog是mainframe类(主类)的成员之一,当用户选择查看“英雄榜”菜单项时,该对话框可见,提供了查看扫雷的最好成绩的界面。标明logdialog类的主要成员变量、方法以及和mainframe类之间组合关系的uml图如图2-3所示。图2-3 logdialog类的uml图图2-4 总体功能图图2-5 总体流程图图2-6 雷区设计流程

7、图图2-7 音效设计流程图图2-8 排行榜设计流程图图2-9 类之间关系图图2-10 运行主界面效果图图2-11 游戏失败效果图图2-12 自定义雷区效果图图2-13 游戏胜利效果图图2-14 扫雷英雄榜效果图五结论这个扫雷游戏是完全模拟微软系统自带的扫雷游戏,所以难度是比较大了,经过编写这个扫雷游戏,我认识到应该注意细节问题,虽然是很小的问题,但可以提高自己编程的能力,而且还可以培养自己编程的严谨性,同时还可以为以后的编程积累经验。编写完这个扫雷游戏,我发现自己有很多的不足,我想如果让我来单独来编写这个游戏,我感觉很吃力,因为这个游戏涉及到好多算法。感触最深的就是我们真的要扎扎实实的打基础!

8、并且我感觉到只要我们自己肯下功夫学习,我们也可以做出很好的东西,不需要每次都抄袭别人的,只有自己的才是最珍贵的!六结束语首先我要感谢交我们的陈老师,正是她对我们平时的严格要求。我才能学到那么多的知识,刚开始接触这门课时,我感觉很吃力,正是老师通俗幽默的讲课方式帮我一步步克服困难。我还要感谢同学在课程设计期间对我的帮助,他们也要做自己的课程设计,但我有困难的时候他们都马上给我帮助,我为有这样的同学感到高兴。七参考文献与附录1 著 作者.书名java程序设计.出版地:出版社,出版年.如:1叶核亚,陈道墟建筑材料m电子工业出版社.2 部分代码package nicholas.awt;import j

9、ava.awt.*;import java.awt.image.*; /*/public class lednumber extends component private polygon segmentpolygon; private int numbersegment = 0, 1, 2, 3, 4, 5 , /0 1, 2 , /1 0, 1, 3, 4, 6 , /2 0, 1, 2, 3, 6 , /3 1, 2, 5, 6 , /4 0, 2, 3, 5, 6 , /5 0, 2, 3, 4, 5, 6 , /6 0, 1, 2 , /7 0, 1, 2, 3, 4, 5, 6 ,

10、 /8 0, 1, 2, 3, 5, 6 /9 ; private int div = 1,10,100,1000,10000,100000; private image numberimage; private color fontcolor = color.red; /the color of number private color bgcolor = color.black; private color maskcolor = color.darkgray; private int dwidth = 12; private int dheight = 21; public lednum

11、ber() init(); public lednumber(color fc) fontcolor = fc; init(); public lednumber(color fc, color bgc) bgcolor = bgc; fontcolor = fc; init(); public lednumber(color fc,color bgc,color mc) bgcolor = bgc; fontcolor = fc; maskcolor = mc; init(); public image getledimage(int dg, int bound) dg %= divboun

12、d; image image = new bufferedimage(dwidth*bound, dheight,bufferedimage.type_int_rgb); graphics g = image.getgraphics(); bound-; for(int i = bound;i=0;i-) g.drawimage(numberimagedg/divi,(bound-i)*dwidth,0,this); dg %= divi; return image; public void init() segmentpolygon = new polygon7; numberimage =

13、 new image10; /setup polygons setnumberpolygon(); setnumberimage(); public void setbackground(color bgc) bgcolor = bgc; public void setfontcolor(color fc) fontcolor = fc; public void setmaskcolor(color mkc) maskcolor = mkc; public void setdigitwidth(int w) dwidth = w; init(); public void setdigithei

14、ght(int h) dheight = h;init(); private void setnumberimage() int i = 0; int j = 0; int k; graphics g; while(i10) numberimagei = new bufferedimage(15,20,bufferedimage.type_int_rgb); g = numberimagei.getgraphics(); g.setcolor(bgcolor); g.fillrect(0,0,15,20); g.setcolor(color.dark_gray); j = 0; while(j

15、numbersegment8.length) k = numbersegment8j; g.fillpolygon(segmentpolygonk); j+; g.setcolor(fontcolor); j = 0; while(jnumbersegmenti.length) k = numbersegmentij; 烟台工程职业技术学院课程(设计)成绩评定评分表评价基元评价内涵满分实评分平时成绩30能按时完成课程设计(论文)各阶段所要求的工作 10能综合运用所学知识分析与解决问题的能力、独立工作能力和实际动手能力14工作态度认真、端正、虚心、严谨,严格遵守纪律6小计30评阅成绩30%能按任

16、务书要求出成果 3论文结构完整、合理,条理清晰,对实验方案的论述正确 5能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、整合信息,实验数据可靠,实验结果正确5设计用语、格式、图纸(图表)、数据、量和单位符合国家标准,各种资料引用规范4视角新颖,主题突出,论据充分,论证有力,分析透彻,计算和结论正确5论文中所表述的基本概念清楚,基础知识和专业知识的掌握牢固扎实6文字表达通顺无误,字数符合要求2小计30答辩成绩40答辩时基本概念清楚, 基础知识和专业知识的掌握牢固扎实 10答辩过程中的自述简明无误,语言流畅10能正确回答问题,特别是本课题范围内的基本理论

17、和基本技能问题20课题范围以外的提问仅作参考,不计分小计40总成绩合计100说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90分(含90分)以上记为优秀,80分(含80分)以上为良好,70分(含70分)以上记为中等,60分(含60分)以上记为及格,60分以下记为不及格。附件四烟台工程职业技术学院课程设计(论文)情况汇总表系别: 班级:填表时间:年月日序号学 生题 目 名 称类别(设计/论文)指导教师总成绩学号姓名姓名职称总人数: 优秀人数: 良好人数: 中等人数: 及格人数: 不及格人数: 艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀

18、蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄

19、薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂

20、薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿

21、袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇

22、袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁薇袄肇莁蚀蚇羃蒀荿袃衿肆蒂蚆螅肅蚄袁膃肅莃螄聿肄蒆罿羅肃薈螂袁肂蚀薅膀肁莀螀肆膀蒂薃羂腿薅蝿袈腿芄薂袄膈蒇袇膃膇蕿蚀聿膆蚁袅羅膅莁蚈袁膄蒃袄螆芃薆蚆肅芃芅袂羁节莈蚅羇芁薀羀袃芀蚂螃膂艿莂薆肈芈蒄螁羄芇薆薄袀莇芆螀螆莆莈薂肄莅蒁螈肀莄蚃蚁羆莃莃袆袂莂蒅虿膁莁

温馨提示

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

评论

0/150

提交评论