JAVA猜数游戏文档格式.docx

上传人:b****3 文档编号:17272749 上传时间:2022-11-30 格式:DOCX 页数:24 大小:264.02KB
下载 相关 举报
JAVA猜数游戏文档格式.docx_第1页
第1页 / 共24页
JAVA猜数游戏文档格式.docx_第2页
第2页 / 共24页
JAVA猜数游戏文档格式.docx_第3页
第3页 / 共24页
JAVA猜数游戏文档格式.docx_第4页
第4页 / 共24页
JAVA猜数游戏文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

JAVA猜数游戏文档格式.docx

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

JAVA猜数游戏文档格式.docx

用户可以随便猜一个数字,游戏会提示太大还是太小,从而缩小猜数范围。

经过几次猜测与提示后,直至猜到,给出所用猜数次数和评语最终退出游戏。

在游戏过程中。

记录用户最终猜对时所需要的次数。

游戏结束后公布结果。

具体要求:

通过菜单栏里提供的选项,进入游戏界面。

系统提示猜数字游戏的运行情况,一般情况下为正常,随即游戏者可以输入自己的猜数结果,可以通过按回车键完成输入。

每次完成一次游戏时,给出猜测的次数的统计。

按其他选项还可以选择退出游戏,查询答案,查询游戏记录,清除游戏记录。

游戏中要求完成一下内容:

1)要求记录产生的随机数并计算用户猜数次数、并完成提示玩家游戏信息等功能;

2)要求在玩家输入不是数字或输入范围不符合时会提示错误信息;

3)要求能判断程序随机生成数字与用户猜的数字的大小,玩家猜的数字偏大于随机生成数就提示“您猜的数字偏大,请重新输入”或玩家猜的数字偏小于随机生成数就提示“您猜的数字偏小,请重新输入”;

4)要求在玩家猜对的时候,提示信息“猜对啦!

”,并统计玩家猜数次数,反馈给玩家;

5)要求在玩家发出“enter”口令时能进入游戏;

6)要求在玩家发出“answer”口令时能显示该次游戏的答案;

7)要求在玩家发出“record”口令时能显示以往游戏中的最好成绩;

8)要求在玩家发出“clear”口令时能清除以往的游戏记录,并显示记录已被清除;

9)要求在玩家发出“exit”口令时能退出游戏。

2.2开发环境分析

本软件的组成程序为JAVA程序设计语言,组够均较简单,直观意义上的较独立。

因此,给予电子化的所构成的硬件的简单的可维护性的特点,决定该软件的简单可维护性。

在装载程序时,正常就运行,异常就停止;

JAVA编程系统出现错误,将会产生不可预见的问题,热启,整个终端程序就会再次启动;

程序出现错误,重新装载。

若依然有错,按照提示逐渐装载。

程序开发中会使用到MyEclipse软件,它是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

表2.2.1游戏运行环境分析表:

操作系统

Windows/xp/2003

内存容量

1G

外用设备

鼠标键盘

CPU

奔腾133

光驱

4倍速

磁盘空间

250G

开发软件

MyEclipse(8.0GA)

中央处理器

双核1.6GHZ

三、系统设计

3.1系统总体设计

本系统总共分为:

进入游戏系统、退出游戏系统、记录成绩系统、清除成绩系统,和显示答案功能系统。

进入游戏系统包括游戏提示、游戏时间计算、游戏次数计算、生成随机数、用户猜数、显示状态、显示记录、清除记录等功能;

开发整个系统具备了周期时间短、简单易用、休闲益智等几大类显著的特性。

本次系统开发设计出了界面大方简洁美化的游戏模式。

游戏规则如下:

 

3.2功能模块设计

猜数游戏的功能模块包含进入游戏模块,用来初始游戏,并记录用户猜测的数据与游戏随机产生的随机数;

成绩记录模块用来将用户游戏数据记录在计算机中,以便随时调用。

答案显示模块用来提供用户正确的答案。

记录清空模块用来将用户之前的游戏成绩记录删除清空。

退出游戏模块可以使用户在后悔进入游戏的情况下,立即结束游戏。

猜数游戏系统功能模块图如下:

图3.2.1猜数游戏功能模块图

3.3类的设计

游戏中,game作为类,负责创建游戏系统的运行,记忆测试系统由该类开始执行。

其中定义inti为猜数次数,定义n为用户猜的数字,定义number为一个随机数mathrandom,用于产生随机的数字,范围要求在0~99之间;

程序中运用方法system.in,用于记录用户输入的数据,使用if语句判断数字的大小,使用while语句循环判断数字大小,并逐个与其后的值相比较,当表达式的值与随机数字值相等时,即执行其后的语句,若程序中出现错误,则可通过trycatch语句来跳出错误,继续执行下面的语句。

使用System.out.println方法输出语句,给出数字判断或评价。

程序中设置了printStackTrace()方法来打印异常信息在程序中出错的位置及原因。

具体的成员方法说明及个别实现语句说明请见下表:

表3.3.1成员方法说明表

方法

功能

Math.random():

随机产生一个数

System.in():

输入消息对话框

System.out.println():

输出消息对话框

printStackTrace()

在命令行打印异常信息在程序中出错的位置及原因。

表3.3.2实现语句说明表

finally

finally中的代码无论出现什么状况都会运行到。

即使出现异常。

所以finally一般都是处理对资源的释放等操作。

trycatch

trycatch成对出现的,一个try就一定要有catch,被try包裹的代码说明,如果这些代码中只要抛出异常的话,就会停止当前的代码运行,而跳到catch中,对于异常进行处理。

try中没有发生异常,所以catch中的代码是执行不到的.

while

程序中不知道循环的次数,使用我还while语句进行动作的循环

类与成员变量成员方法及语句之间的关系图如下:

+game

成语变量

+i:

int

+number:

+n:

成员方法

Math.random()

System.in()

System.out.println()

语句

+while

+for

+ifelse

+finaly

+try...catch

图3.1.1类与成员变量成员方法及语句之间的关系图

用户可通过输入框选择任务,如:

开始游戏,退出游戏,显示答案,成绩记录,清除记录等。

进入游戏后,程序自动生成随机数,并发送请求用户输入数字,通过elseif语句判断数字与生成数的大小,并弹出对话框,输出信息。

之后再重新输入直到猜对,程序可以无限次的输入数字。

猜数正确后,会弹出对话框,输出信息,给出游戏最新记录,然后自动退出游戏。

该游戏记录存档在D盘,以记录猜数成绩信息,若输入clear,可清除记录,显示记录空。

Answer口令以显示系统自动生成的随机数。

Exit口令以直接退出游戏。

游戏中,最重要的部分是判断数字大小,该过程中将定义好的n与随机生成的数字number比较,运用到ifelse语句。

猜对后,运用break语句跳转到评价语句,显示游戏记录。

Trycatch语句用于输入错误时跳出语句。

四、程序实现

4.1程序流程图

RecordAnswerClearExit

重新输入数字重新输入数字

图4.1.1系统程序流程图

4.2关键算法与技术实现

4.2.1游戏菜单设置的具体算法

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.RandomAccessFile;

publicclassgame

{

inti=0;

//记录猜数字的次数

voidoperate()

System.out.println("

欢迎来到蔡馨颜开发的猜数字小游戏"

+

"

\n"

+"

输入“enter”进入游戏;

"

+"

输入“exit”退出游戏;

+

+"

输入“record”最新的游戏记录;

输入“answer”显示该次游戏的正确答案;

输入“clear”清除记录"

);

请选择上面的选项:

以上程序段通过定义int变量来记录猜数字的次数,并通过输出语句,来显示游戏的菜单。

4.2.2生成随机数的具体算法

voidplayGame(intnumber)

//intnumber=(int)(Math.random()*100);

游戏开始,请猜数,输入0-100之间的一个数:

InputStreamReaderisr=newInputStreamReader(System.in);

BufferedReaderbr=newBufferedReader(isr);

Stringstr="

;

intn;

RandomAccessFileraf=null;

try

while(br!

=null&

&

!

str.equals("

exit"

))

str=br.readLine();

n=Integer.parseInt(str);

i++;

//i记录输入数字的次数}}

以上程序段通过定义变量int来生成随机数,定义变量int来记录用户的猜测的数字,通过while语句实现退出。

4.2.3比较数字大小的具体算法

if(a<

number){

你猜的数字偏小!

//break;

}

elseif(a>

你猜的数字偏大!

}

elseif(a==number){

猜对啦,恭喜你!

你输入了"

+i+"

次"

以上程序段通过ifelse语句实现生成随机数与用户猜数之间的比较,并通过输出语句显示相关评价。

4.2.4记录与清除成绩的具体算法

Filef=newFile("

d:

\\RandomAccessFile.txt"

raf=newRandomAccessFile(f,"

rw"

//raf.seek(0);

//while(f.length()!

=

raf.setLength(0);

//写之前先将文件清空

raf.writeInt(i);

//输入数字的次数写入文件

raf.seek(0);

//定位到文件头

//raf.seek(raf.length()-1);

//定位到文件尾

最新的游戏记录:

+raf.readInt()+"

//打印最新的猜数字记录

………

RandomAccessFileraf=newRandomAccessFile(f,"

if(raf.length()>

0)//如果文件中有记录,则输出此数,否则显示“记录空”的提示

inti=raf.readInt();

最新的猜数字记录:

"

+i+"

else

无记录"

elseif(s.equals("

answer"

)){//输入“answer”显示该次游戏的正确答案;

该次游戏的正确答案:

+number);

r.playGame(number);

//进入游戏

clear"

……

以上程序段将游戏中记录成绩的文件自动存档在D盘里,便于游戏中用户查询成绩记录,除了成绩的查询,程序段还具有清除记录的功能。

4.2.5清空成绩的具体算法

RandomAccessFileraf=newRandomAccessFile(f,"

//raf.seek(0);

raf.setLength(0);

//raf.writeInt(i);

记录已被清空"

}

}

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

以上程序段可以实现将记录在D盘里的游戏记录清除的功能,寻找处于D盘的文件,将其内记录的成绩清除,随后用System.out.println输出语句将记录已被清空的口令告知用户。

4.2.6错误跳转的具体算法

try{

if(raf!

=null)

raf.close();

catch(IOExceptione)

e.printStackTrace();

以上程序段通过try…catch语句实现错误状态下的跳出动作。

猜数游戏源程序如下:

)){

//i记录输入数字的次数

if(n<

你猜的数字偏小"

elseif(n>

你猜的数字偏大"

elseif(n==number)

恭喜你,猜对啦!

System.exit(0);

catch(IOExceptione)

Finally

{

publicstaticvoidmain(String[]args)

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

gamer=newgame();

r.operate();

Strings="

Try

while(s!

{

s=br.readLine();

if(s.equals("

enter"

))//输入“enter”进入游戏;

))//输入“exit”退出游戏;

record"

))//输入“record”打印最新的猜数字记录;

elseif(s.equa

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

当前位置:首页 > 职业教育 > 职业技术培训

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

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