还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计任务书学院计算机与信息工程学院专业2014计科(对口)课程名称面向对象程序设计(J__a)题目猜数字游戏起止时间2015年12月25日至2015年12月31日内容及任务
一、项目的目的1.巩固和加深学生对面向对象程序设计(J__a)这门课程基本知识的理解,综合该课程中所学的理论知识,__或联合完成一个J__a图形界面应用课题的设计;2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;
3.熟练运用基本的对象和类的操作知识,基本的图形界面的编写能力
二、主要内容和要求本此设计主要是用于猜数字游戏,首先,计算机产生一个随机数,然后用户猜数,并显示出提示信息,以及游戏规则等功能
三、设计思路猜数字游戏思路比较简单,首先得产生一个随机数让用户来猜,然后用peidui方法来匹配用户输入的数是否正确如果不正确则根据提示信息继续猜数直到猜出正确结果
四、具体成果形式和要求程序和设计说明书,在该程序中通过Eclipse来运行猜数字游戏程序,程序代码主要由三个方法体组成Random)方法是用来产生随机数的功能Peidui()方法用来匹配数字信息的最后,Game方法是用来设计界面布局以及监听器的设计和猜数次数的显示信息.进度安排起止日期工作内容2015年12月25号至2015年12月27号需求分析,按照课题要求,搜集查阅相关参考资料2015年12月28号概要设计和详细设计阶段,根据前期的需求分析结果,定义程序实现所需的各类方法及完成各方法的功能2015年12月28号至2015年6月29号程序的进一步完善,测试结果,撰写课程设计报告2015年12月30号至2015年12月31号撰写课程设计报告,并且进行答辩系(教研室)主任意见签名年月日2015-2016学年第一学期面向对象程序设计(J__a)课程设计说明书班级名称2014计算机科学与技术(对口)学生姓名徐竹青学号2014214190题目猜数字游戏指导教师徐志红起止日期2015年12月25日至2015年12月31日计算机与信息工程学院目录TOC\o1-3\h\u
1.选题背景
12.设计思路
12.1课程设计思想1设计内容
112.2功能需求
12.3软硬件运行环境及__工具
13.过程论述
23.1需求分析
2223.2程序代码分析
24.结果分析
74.1测试与操作说明
74.2测试数据及程序运行情况
775.结论8____8致谢
81.选题背景 J__a语言作为当今Internet上最流行的编程语言,它的产生自然与游戏密切相关本次课程设计是为了配合J__a程序设计课程,帮助学生深入学习和掌握J__a语言,熟练运用这个工具而设立的课程通过课程设计的综合训练,加强学生对J__a语言的理解,检验学生对专业理论知识的理解与掌握程度,锻炼学生综合运用J__a程序设计所学的知识,实际分析问题、解决问题的能力通过对猜数字游戏程序设计的学习,使学生掌握编程的基本方法,能够根据现实生活实践编制出一些使用的小程序,为以后学习其他相关课程打下基础
2.设计思路
2.1课程设计思想设计内容设计一个猜数字游戏程序,要求具体如下特性 1 输入任意一个数字数字的要求是0-1000的自然数即可 2系统对您输入的数字进行判断如果玩家输入的数字与计算机随机生成的数相比较如果输入的数字和位置都正确则提示为A,如果数字正确,位置错误,则提示为B 3每猜测一次,系统会记录下来显示剩余的猜数次数要求设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如0A1B,0A表示用户没有猜对一个数字和位置都正确的数,1B表示用户猜对了一个数字,但数字的位置是错的
2.2功能需求一个较完善的猜数字游戏的程序功能,应该具有产生随机数、用户输入数字、如何猜数等功能所以要求完成以下功能1首先计算机内部产生一个随机数2由用户输入数字,根据程序的格式限制,来判断用户输入的数格式是否正确3如何进行猜数,并显示出猜数的次数以及剩余的次数
2.3软硬件运行环境及__工具
(1)编成语言J__a语言
(2)__环境MicrosoftWindows
7、JDK,Eclispse
3.过程论述
3.1需求分析猜数字游戏的几个功能可将本游戏程序分为三大模块
(1)由电脑随机产生一个随
(2)用户输入几位数并判断数的格式;
(3)显示提示信息及用户所剩余的机会各功能模块如图3-1所示图3-1功能模块图本程序是一个简单的记事本程序,涉及到了以下知识点
(1)类的继承
(2)图形化用户界面
(3)__处理,如__源、监听器、__处理器
3.2程序代码分析
(1)将用户输入的四位数与计算机产生的随机数匹配,如果数字和位置完全正确A++;如果位置错误则B++;界面的显示情况如图3-2所示图3-2猜数界面提示信息图代码如下publicvoidpeidui{A=0;B=0;fori=0;i4;i++forj=0;j4;j++ifRandom[i]==Enter[j]{ifi==jA++;elseB++;}ta.append\n+A+A+B+B+Enter
[0]+Enter
[1]+Enter
[2]+Enter
[3];whiletrue{ify!=0{ta.append你还有+y+次机会!+\n;y--;}elseta.append你猜错了请重新游戏!+\n+\n正确结果是:+Random
[0]+Random
[1]+Random
[2]+Random
[3];break;}ifA==4B==0{ta.append\n+恭喜你猜对了!;}}
(2)图形用户界面的设计与布局如图3-2所示图3-3猜数字游戏开始状态图3-2猜数字游戏界面代码如下publicGame{super猜数字游戏;Randomnum;Containern=this.getContentPane;n.setLayoutnewBorderLayout;jlb1=newJLabel请输入;bt=newJButton确定;JPaneljp1=newJPanel;JPaneljp2=newJPanel;JPaneljp3=newJPanel;n.addNorthjp1;n.addSouthjp3;jp
1.setLayoutnewFlowLayout;jp
1.addjlb1;jp
1.addtf;jp
1.setVisibletrue;getContentPane.addscp;jp
3.setLayoutnewFlowLayout;bt.setBounds1401708030;jp
3.addbt;jp
3.setVisibletrue;mit
1.addActionListenerthis;mit
2.addActionListenerthis;menu
1.addmit1;menu
1.addmit2;bt.addActionListenerthis;jmb.addmenu1;this.setSize300300;this.setJMenuBarjmb;this.setVisibletrue;this.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;//设置窗口可关闭}
(3)在游戏界面单击“游戏”菜单下的“规则”子菜单,将会出现如图3-3所示图3-3游戏规则对话框代码如下publicvoidactionPerformedActionEventn{ifn.getActionCom__nd.equals规则{dlg.setBounds600350300150;dlg.setLayoutnewBorderLayout;dlg.setTitle游戏规则;dlg.addNorthjlb;dlg.add__nterjlb2;dlg.addSouthjlb3;dlg.setVisibletrue;}ifn.getActionCom__nd.equals退出{System.exit0;}
(3)输入的数字格式不正确,单击确定按钮时,出现在“文本域”中的提示信息,如图3-4所示图3-4数字格式匹配信息提示图代码如下ifn.getActionCom__nd.equals确定{try{x=0;intz=Integer.valueOftf.getText;//获取文本中的值,将它转换forinti=3;i=0;i--{//成整型Enter[i]=z%10;z=z/10;}}catchEx__ptionm{ta.append\n+请检查输入值的格式!;x=1;}iftf.getText.length!=4{ta.append\n+请输入四位数字!;}elseifx==0{fori=0;i4;i++forj=0;j4;j++{ifEnter[i]==Enter[j]i!=j{ta.append\n+请输入4不同的数字!;break;}elseifi==3j==3peidui;}}}}
4.结果分析
4.1测试与操作说明使用Eclipse,打开猜数字游戏.J__a文件,接着纠正错误,无错误,最后执行该文件要求用户在请输入后的文本框中输入数字,如果输入格式不正确会出现“请输入正确的格式”的提示信息;如果输入的不是四位数会出现“请输入四位数的提示信息”;如果输入的数字格式是正确的,那么将根据提示信息进行猜数,直到猜出正确结果
4.2测试数据及程序运行情况如图4-4所示图4-1猜数游戏结果
5.结论猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择通过选择猜数字游戏这个题目,可以让我掌握J__a中的包和类,并且可以灵活的使用Eclipse软件同时更加深入的了解字符界面的编程过程使我更熟练的掌握J__a程序框架的搭建和类的创建格式在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性让我学会了多角度思考问题,对我以后的编程奠定了更好的基础____
[1]赵生慧.J__a面向对象程序设计.中国水利水电出版社
[2]赵生慧.J__a面向对象程序设计实训与考试指导.中国水利水电出版社致谢在此向所有关心我及帮助我的老师和同学致以最真诚的感谢在本次课程设计中,尤其要感谢徐志红老师,对我们的课程设计时刻的__,当我们遇到困难时给了我们很大的帮助,同时我还要感谢马骏老师给我的指导,让我更深刻的明白了布局管理器的作用,交给了我认真__完成工作的理念,使得我能够按时完成这次的课程设计指导教师评语成绩评定指导教师签名填表日期年月日猜数字游戏由电脑随机产生一个随机数用户输入几位数并判断数的格式显示提示信息及用户所剩余的机会。