猜数字游戏Word文档格式.docx

上传人:b****8 文档编号:22134964 上传时间:2023-02-02 格式:DOCX 页数:15 大小:84.07KB
下载 相关 举报
猜数字游戏Word文档格式.docx_第1页
第1页 / 共15页
猜数字游戏Word文档格式.docx_第2页
第2页 / 共15页
猜数字游戏Word文档格式.docx_第3页
第3页 / 共15页
猜数字游戏Word文档格式.docx_第4页
第4页 / 共15页
猜数字游戏Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

猜数字游戏Word文档格式.docx

《猜数字游戏Word文档格式.docx》由会员分享,可在线阅读,更多相关《猜数字游戏Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

猜数字游戏Word文档格式.docx

、八—

刖言

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

猜数字游戏是一个简单,有趣的小游戏。

通过设计猜数字游戏,可以进一步了解Swing图形用户界面设计,事件处理和异

常处理机制。

利用Eclipse平台,综合运用Java基础知识,设计猜数字游戏。

正文

1、设计任务与要求

1.1设计任务与要求

功能要求:

该程序用图形界面实现下面功能:

用计算机产生一个100以内的随机

数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对

为止。

游戏结束后给出评语并计算出玩家所用的时间与所猜的次数。

具体要求:

(1)输入任意一个数字。

数字的要求是1—100的自然数即可。

(2)系统对您输入的数字进行判断。

如果玩家输入的数字与计算机随机生成数相比较,

输入的数字比随机生成数小•系统将提示您,数字太小请您重新输入。

如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。

系统

将提示您,数字太大请您重新输入。

如果玩家输入的字符不是合法字符,系统将

提示您,您输入的数字不合法,请从新输入。

(3)每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。

(4)欢迎界面:

通过这里提供的选项(或按钮),进入游戏界面。

(5)游戏界面提供“获取随机数”按钮,系统获取到随机数,游戏者输入自己的猜测

结果,通过按“确认”按钮完成输入。

每次提示输入猜测结果时,给出猜测的准

确度提示。

(6)按“获取随机数”按钮,继续游戏。

(7)游戏结束后给出评语并计算出玩家所用的时间与所猜次数。

界面要示:

用图形界面实现。

1.2选题目的与意义

通过猜数游戏这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的知识和应用,达到设计登陆界面、加入图像显示功能以及设计按钮的目的,让我更加的掌握和理解java面向对象语言的需求分析、系统设计,所以我选择猜数游戏这个课题。

2、需求分析

2.1用户需求分析

1•玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。

2•对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,

您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。

3.玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及

判断。

4.系统根据您猜数字的次数,自动计数.

5.直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.

2.2开发环境分析

Eclipse企业级工作平台(EclipseEnterpriseWorkbench,简称Eclipse)

是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应

用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环

境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,

Javascript,SQL,Hibernate。

在结构上,Eclipse的特征可以被分为7类:

1.JavaEE模型

2.WEB开发工具

3.EJB开发工具

4.应用程序服务器的连接器

5.JavaEE项目部署服务

6.数据库服务

7.Eclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。

Eclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,Eclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发

环境,支持代码编写、配置、测试以及除错。

该程序基于JDK和Eclipse编写,选用Eclipse是界面设计所需。

根据系统范围随机产生一个数字,可根据玩家选择给出不同的数字。

玩家输入所猜数字时给出与真实

数字的大小比较。

在玩家猜中时,可给出其所用时间,并给出评价。

最后,游戏的结束与继续可由玩家控制。

3、系统设计

3.1系统总体设计:

3.1.1总体设计分析

1.随机数的获取:

玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。

2.输入输出模块:

对玩家输入的数字进行判断和提示。

如果玩家输入的不是系统要求

的数字,系统将提示您,您输入的不是数字请重新输入.。

如果玩家输入的数字与随机生成数相比较,比随机生成数小•系统提示您,数字太小请您重新输入。

如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

3.判断模块:

算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断

和是否继续的提示;

对玩家要求判断执行。

4.自动计数模块:

系统根据您猜数字的次数,自动计数

5.结果输出模块:

直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进

入下一次游戏,如果退出将退出游戏系统.

3.1.2程序结构

点击“获取随机数”按钮,系统获取到一个随机数。

玩家输入一个数,如果玩家

输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!

”。

如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!

”。

果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!

并且会计算出玩家所用的时间和所猜的次数。

如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!

您真棒,智商真高!

”,并且会计算出玩家所用的时间和所猜的次数。

图1程序结构图

3.2功能模块设计

321功能模块图

游戏分为随机数的获取,输入输出模块,判断模块,自动计数模块,结果输出模块。

其中输入输出模块中系统会对玩家给出的数进行判断和输出。

判断模块会对玩家的水平进行判断,并计算出玩家所用的时间和次数。

图2功能模块图

322功能模块详细设计

(1)随机数的获取

功能描述:

玩家输入一个数字,数字的范围在1-100之间,系统获取随机数

(2)输入输出模块

如果玩家输入的不是系统要求的

数字,系统将提示您,您输入的不是数字请重新输入.。

如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。

如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

图3输入输出模块图

⑶判断模块

算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;

图4判断模块图

(4)自动计数模块

玩家猜数字,若猜错►计数器加1

图5自动计数模块图

(5)结果输出模块

直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.

3.3类的设计:

表1类的分类

类名

属性

Math.random

数学中的随机数。

BorderLayout

图形界面窗口的设计与调整

Concurrent

concurrent在并发编程中很常用的头用工具类。

从用户的角度看,Java源程序中的类分为两种:

系统定义的类:

即Java类库,它是系统定义好的类。

Java语言由语法规则和类库两部分组成,语法规则确定Java程序的书写规范;

类库则提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口。

用户自定义类:

系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。

在Java程序中,用户自定义类的一般格式如下:

class类名

数据成员

成员方法

类的结构是由类说明和类体两部分组成的。

类的说明部分由关键字class与类名组成,类名的命名遵循Java标识符的定义规则。

类体是类声明中花括号所包括的全部内容,它又是由数据成员(属性)和成员方法(方法)两部分组成。

数据成员描述对象的属性;

成员方法则刻画对象的行为或动作,每一个成员方法确定一个功能或操作。

首先搭建Java程序框架。

打开Eclipse,新建名为GuessNumberGam的项目,然后新建名为GuessNumber的Java类。

GuessNumber加上合适的javadoc。

第一步:

随机数的产生

我们可以借助JavaAPI提供的Random类来产生一个随机数。

首先在main函数中加入以下三行代码:

//新建一个随机数产生器,然后生成一个1到100之间的整数。

num=(int)(Math.random()*100);

Stringanswer;

Scannerinput=newScanner(System.in);

第二步:

标准输入输出

标准输入输出(StandardI/O)是指可以被应用程序使用的信息流。

应用程序可以

从标准输入(Standardinput)读取数据,向标准输出(Standardoutput)写数据,把出错信息发送到标准错误(Standarderror)。

通过输入输出,应用程序和应用程序之间可以被串联起来使用。

虽然标准输入输出是从UNIX发展出来的概念,在Windows中也

广泛应用。

猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。

相反,要从控制台输入,就需要用到System.in。

它是一个纯粹的输入流,而猜数字游戏主要是通过

控制台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。

第三步:

使用BorderLayout对图形界面的窗口进行设计。

4、程序实现

4.1程序流程图

果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!

”,并且会计算出玩家所用的时间和所猜的次数。

如果玩家猜对了数,而且所用时间小于

十秒,系统会提示“恭喜您,猜对了!

图6程序流程图

4.2关键算法与技术实现421随机数的获取

Scannerinput=newScanner(System.in);

4.2.2输入输出

for(i=1;

iv=10;

i++)

{

if(num2<

num){

Ibshow.setText(”您猜的太小了,请继续猜!

"

);

continue;

}

elseif(num2>

Ibshow.setText("

您猜的太大了,请继续猜!

longendTime=System.currentTimeMillis();

longt;

t=(endTime-startTime)/1000;

strshow="

您总共猜了"

+counte叶"

次,您猜数字总共花了"

+(endTime-startTime)/1000+"

秒"

;

if(t<

10)

"

+strshow);

lbshow.setText("

恭喜您,猜对了!

您真棒,智商真高!

这么久才猜出来,有点笨!

4.2.3判断时间

startTime=System.currentTimeMillis();

您猜数字总共花了"

+(endTime-startTime)/1000+"

4.2.4自动计数

intgeust=0;

counter++;

+counter+"

次;

4.2.5结果输出

次,您猜数字总共花了

Ibshow.setText(”恭喜您,猜对了!

elseif(t>

这么久才猜出来,有点笨!

4.2.6图形界面的实现

BorderLayoutbdmg=newBorderLayout();

Buttonbutton仁newButton("

获取随机数"

Buttonbutton2=newButton(”确定"

Stringstr=nuII;

Stringstr2=null;

longstartTime;

intnum,num2;

intcounter=0;

myGeustNummy1=newmyGeustNum();

TextFieldinput;

Labellbshow=newLabel("

Labellbshow2=newLabel("

inti;

Stringstrshow;

publicvoidinit()

setLayout(bdmg);

add(button1,BorderLayout.NORTH

button1.addActionListener(this);

buttton1.setSize(50,50);

Labellb1=newLabel("

请输入"

lb1.setSize(50,20);

this.add(lb1,BorderLayout.WEST

input=newTextField(IO);

input.setSize(40,50);

add(input,BorderLayout.CENTE)R

add(button2,BorderLayout.EAST

button2.addActionListener(this);

button2.setSize(50,20);

add(lbshow,BorderLayout.SOUTH

setSize(450,200);

4.3类的实现

Eclipse立即在错误语句处划出红线,把鼠标移动到红线上。

包(Package)的概念

JavaAPI中包含了极其丰富、类似于Random这样由Sun预先定义好的类。

不同

包中可以有同名同姓的类,如果没有包的概念,就会遇到命名冲突问题。

此外,包还能进行安全控制。

Random类是在java.util这个包中。

可以手动在源程序顶部输入

importjava.util.Random;

语句来申明该程序将要使用java.util包中的Random类,

然而有了Eclipse,就不用那么麻烦了一把光标移动到有红色波浪线的Random上,然后按下Ctrl+Shift+MEclipse会自动帮你完成导入的工作了,此时保存一下源代码。

第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化

的方法把random产生的随机数赋给number变量。

虽然标准输入输出是从UNIX发展出来的概念,在Windows中也广泛应用。

它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。

5、测试运行

5.1系统测试方案

1•点击运行程序后,显示出图形界面。

2•点击“获取随机数”按钮,系统获取到一个随机数。

3.玩家输入一个数,点击“确定”按钮。

如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!

如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!

4.如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!

”,并且会计算出玩家所用的时间和所猜的次数。

如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!

”,并且会计算出玩家所用的时间和所猜的次数。

5.如果玩家想重新再玩一次,点击“获取随机数”按钮即可继续玩下一轮游戏。

5.2运行结果分析

开始运行程序时图形界面的显示

图7图形显示界面

玩家输入一个数“10”后,点击“确定”,系统提示“您猜的太小了”。

玩家再

次输入一个数“70”后,点击“确定”,系统提示“您猜的太大了”。

玩家再次输入

一个数“32”,点击“确定”,系统提示“猜对了”。

5.3结论

经过差不多两个星期的努力,基本上完成我的Java课程设计一简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。

通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。

同时,做这门课程设计

也进一步加强了我的动手能力。

为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。

在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。

但是,设计过程中也存在一些问题,本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1