您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > JAVA课程设计猜数字游戏
南阳师范学院物理与电子工程学院《JAVA语言程序设计》课程设计报告完成人:班级:学号:专业:成绩摘要猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。这个课程设计可以更加深入的了解字符界面的编程过程,更熟练的掌握Java程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼逻辑思维,更能培养思考的全面性。一.概要设计1.1设计任务与要求功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。1.2选题目的与意义通过猜数游戏这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的知识和应用,达到设计登陆界面、加入图像显示功能以及设计按钮的目的,让我更加的掌握和理解java面向对象语言的需求分析、系统设计,所以我选择猜数游戏这个课题。1.3程序结构图二.详细设计2.1总体设计分析1随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。2输入输出模块:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。3判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。4自动计数模块:系统根据您猜数字的次数,自动计数.5结果输出模块:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.2.2源程序importjava.awt.Color;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.Box;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JTextField;classWindowButtonextendsJFrameimplementsActionListener{/****/privatestaticfinallongserialVersionUID=1L;intnumber;JTextFieldinputNumber;JLabelfeedBack;JButtonbuttonGetNumber,buttonEnter;WindowButton(Strings){super(猜数字小游戏);buttonGetNumber=newJButton(得到一个随机数);feedBack=newJLabel(无反馈信息,JLabel.CENTER);feedBack.setBackground(Color.green);inputNumber=newJTextField(0,5);buttonEnter=newJButton(确定);buttonEnter.addActionListener(this);buttonGetNumber.addActionListener(this);buttonGetNumber.addActionListener(this);BoxboxH1=Box.createHorizontalBox();boxH1.add(newJLabel(获取1-100之间的随机数:));boxH1.add(buttonGetNumber);BoxboxH2=Box.createHorizontalBox();boxH2.add(newJLabel(输入您的猜测:));boxH2.add(inputNumber);BoxboxH3=Box.createHorizontalBox();boxH3.add(newJLabel(单击确定按钮:));boxH3.add(buttonEnter);BoxboxH4=Box.createHorizontalBox();boxH4.add(newJLabel(反馈信息:));boxH4.add(feedBack);BoxbaseBox=Box.createVerticalBox();baseBox.add(boxH1);baseBox.add(boxH2);baseBox.add(boxH3);baseBox.add(boxH4);Containercon=getContentPane();con.setLayout(newFlowLayout());con.add(baseBox);con.validate();setBounds(120,125,279,200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,150,150);setVisible(true);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==buttonGetNumber){number=(int)(Math.random()*100)+1;}elseif(e.getSource()==buttonEnter){intguess=0;try{guess=Integer.parseInt(inputNumber.getText());if(guess==number){JOptionPane.showMessageDialog(this,恭喜您,猜对了);}elseif(guessnumber){JOptionPane.showMessageDialog(this,您猜的太大了,请继续猜);inputNumber.setText(null);}elseif(guessnumber){JOptionPane.showMessageDialog(this,您猜的太小了,请继续猜);inputNumber.setText(null);}}catch(NumberFormatExceptionevent){JOptionPane.showMessageDialog(this,请输入数字字符);}}}}publicclass猜数字游戏{publicstaticvoidmain(Stringargs[]){newWindowButton(猜数字小游戏);三.运行调试与分析讨论3.1系统测试方案1点击运行程序后,显示出图形界面。2点击“获取随机数”按钮,系统获取到一个随机数。3玩家输入一个数,点击“确定”按钮。如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。4如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。5如果玩家想重新再玩一次,点击“获取随机数”按钮即可继续玩下一轮游戏。3.2运行结果分析开始运行程序时图形界面的显示玩家输入一个数“25”后,点击“确定”,系统提示“您猜的太小了,请继续猜!”。玩家再次输入一个数“70”后,点击“确定”,系统提示“您猜的太大了,请继续猜!”。图9系统提示图b玩家再次输入一个数“32”,点击“确定”,系统提示“这么久才猜出来,有点笨!您总共猜了3次,您猜数字总共花了73秒”。玩家再重新玩一次,获取随机数后,玩家输入一个随机数“90”,点击“确定”,系统提示“恭喜您,猜对了!您真棒,智商真高!您总共猜了1次,您猜数字总共花了2秒”。四.总结与体会通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。五.参考文献[1]张广彬,孟红蕊,张永宝.Java课程设计案例精编[M].清华大学出版社.2007.[2]黄晓东.Java课程设计案例精编(第一版)[M].中国水利水电出版社2004.[3][美]CayS.Horstmann程峰等译.JAVA2核心技术[M].机械工业出版社2003.
本文标题:JAVA课程设计猜数字游戏
链接地址:https://www.777doc.com/doc-6381779 .html