猜数字游戏1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)编写一个猜数字游戏,要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
3、主要参考文献[1]朱福喜•《Java语言程序设计》(第二版)•科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社[3]Deitel.《Java大学基础教程》(第六版).电子工业出版社[4]MaryCampione.《Java语言导学》(第四版).机械工业出版社⑸Y.Daniel Liang.《Java语言程序设计基础篇》(第六版).机械工业出版社⑹Kathy Sierra.《Head First Java〉(第二版).东南大学出版社4指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日摘要 (2)1.需求分析 (3)1.1用户需求分析 (3)22开发环境分析 (3)2•问题描述 (4)2.1课程设计的任务: ...................................................................... 4 2.2.课程设计的要求: . (4)3模块设计 (5)3.1系统总体设计 ........................................................................... 5 3.2功能模块设计 .. (5)4功能设计 ..........................................4.1.随机数的产生模块 4.2. 输入判断模块.... 4.3. 记录猜测次数模块4.4. 计时模块 ............................................................................. 6 4.5.输入输出模块 (6)4.6.成绩判断模块5. 程序流程图 ................................................................................. 86. 异常处理 ................................................................................... 107.调试分析 (11)总结 ......................................................................................... 13 参考文献...................................................................................... 14 程序附页.. (14)错误!未定义书签。
(6)摘要猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。
通过选择猜数字游戏这个题目可以让我掌握Java中的包和类,并且可以灵活的使用my eclipse 软件。
同时更加深入的了解字符界面的编程过程。
使我更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。
让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
关键词猜数字游戏,JAVA编程,课程设计1.需求分析1.1用户需求分析设计一个猜数字游戏程序,要求具体如下特性:a.输入任意一个数字。
数字的要求是 1 —100的自然数即可。
b.系统对您输入的数字进行判断。
如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。
如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。
系统将提示您,数字太大请您重新输入。
如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。
c.游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。
d.每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。
e.在游戏结束时,可以选择关闭游戏,或者再来一局。
2.2开发环境分析硬件要求能运行Windows9.X操作系统的微机系统。
JAVA程序设计语言及相应的集成开发环境,J2SDK和eclipse开发工具。
J2SDK简介:j2sdk是就阿Java的开发环境包。
它包含JDK(开发工具包)和JRE (运行时环境包)。
eclipse简介:Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Tools ,JDT)。
2•问题描述2.1课程设计的任务:根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。
(1)掌握Java的语言规范,面向对象的核心概念和特性;(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;(3)掌握Java应用软件的开发环境和开发过程;(4)掌握面向对象的思想和程序设计方法。
2.2.课程设计的要求:设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。
用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。
3模块设计3.1系统总体设计猜数字游戏一游戏随机给出一个1 —100 (包括1和100)之间的数字,然后让你猜是什么 数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜 测与提示后,最终推出答案。
游戏开始后,由计算机产生一个 1-100的随机数,不显示在图形界面,但显示在字符界面。
用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮表示确定,游戏返回提示语句, 按照提示语句操作,直至游戏结束。
同时,计算机开始对游戏进行计时和计数功能。
3.2功能模块设计丁组虑纵1*'.nfr 'l 冋蛙吋录时4功能设计4.1.随机数的产生模块我们可以借助Java API提供的Random类来产生一个随机数。
首先在main函数中加入以下代码:Ran dom ran dom = new Ran dom();nu mber = random.n extI nt(1OO); // 产生一个1-100间的随机数4.2输入判断模块JOptionPane.showMessageDialog(null, "数字不合法,请输入一个1-100 之间的整数!”); // 显示一个对话框jTextField1.setText("");// 清空文本框内容jTextField1.requestFocus();〃文本框获取输入焦点4.3.记录猜测次数模块//记录玩家猜测的次数coun ter = 0;//计数器增加一coun ter + +;4.4.计时模块计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。
long startTime = System.currentTimeMillis();long en dTime = System.curre ntTimeMillis();4.5.输入输出模块//对玩家的输入进行判断。
if (guess > nu mber) {JOptionPane.showMessageDialog(null," 猜大了哦!!");jTextField1.setText(””);jTextField1.requestFocus();return;}if (guess < nu mber) {JOpti onPan e.showMessageDialog( null,"jTextField1.setText("");jTextField1.requestFocus();return;}if (guess == nu mber) {en dTime = System.curre ntTimeMillis();太小啦");4.6.成绩判断模块//判断成绩。
switch (co un ter) {case 1:JOptio nPan e.showMessageDialog( nu II,"吧!!”);break;case 2:case 3:case 4:你是神么??这也太给力了习哦!"); 花了" case 5:case 6:case 7:JOptio nPan e.showMessageDialog( nu II,break;default:JOptio nPan e.showMessageDialog( nu II,""这么快就猜对了,很不错哦!");猜了半天才猜出来,还要多多练break;}JOptionPane.showMessageDialog(null," 您总共猜了” + counter + " 次共+ (endTime - startTime) / 1000 + " }jTextFieldl.setText(””); jTextField1.requestFocus();}秒的时间答对正确答案!”);5.程序流程图系统结束计时系统统计猜数次数6.异常处理我们在运行程序时往往会出现许多错误,而Java语言提供了异常(Exception)处理机制帮助程序员发现并处理异常。
所谓异常,就是在程序执行过程中能干扰程序正常流程的事件。
导致异常的原因很多,比如文件找不到、数组越界、除以零等。
当异常出现时,一个异常对象将被自动生成并传递给Java "运行时环境”,如果"运行时环境”找不到异常句柄,Java 程序便会自行中断。
try {stateme nt(s);} catch (excepti on type1 n ame) {stateme nt(s);} catch (excepti on type2 n ame) { stateme nt(s);} fin ally {stateme nt(s);}try语句括起来的语句可能抛出异常。