jiedui
源代码:https://github.com/hanzhaoyan/jieduizuoye/tree/master
功能要求:
该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出评语并计算出玩家所用的时间与所猜的次数。
具体要求:
(1) 输入任意一个数字。数字的要求是1—100的自然数即可。
(2) 系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。系统将提示您,数字太大请您重新输入。如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。
(3) 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。
(4) 欢迎界面:通过这里提供的选项(或按钮),进入游戏界面。
(5) 游戏界面提供“获取随机数”按钮,系统获取到随机数,游戏者输入自己的猜测结果,通过按“确认”按钮完成输入。每次提示输入猜测结果时,给出猜测的准确度提示。
(6) 按“获取随机数”按钮,继续游戏。
(7) 游戏结束后给出评语并计算出玩家所用的时间与所猜次数。
需求分析
1.玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2.对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。
3.玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。
4.系统根据您猜数字的次数,自动计数.
5.直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.
.程序结构
点击“获取随机数”按钮,系统获取到一个随机数。 玩家输入一个数,如果玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。 如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。
功能模块设计 游戏分为随机数的获取,输入输出模块,判断模块,自动计数模块,结果输出模块。其中输入输出模块中系统会对玩家给出的数进行判断和输出。判断模块会对玩家的水平进行判断,并计算出玩家所用的时间和次数。
从用户的角度看,Java源程序中的类分两种:
系统定已的类:即Java类库,他是系统定义好的类。Java语言由语法规则和库类两部分组成,语法规则确定Java程序的书写规范;类库则提供了Java程序与运行它的系统软件之间的借口。
用户自定义的类:系统定义的类虽然实现了徐福哦常见的功能,但是用户程序仍然需要针对特定问题的特定逻辑来定义自己的类。
在Java程序中,用户自定义类的一般格式如下:
class类名
数据成员
成员方法
类的结构是由类说明和类体两部分组成的
类的说明部分由关键字class与类名组成。类名的命名遵循Java标识符的定义规则
类体是类生命中花括号所包括的全部内容,它又是由数据成员和成员方法两部分组成。
数据成员描述对象的属性;成员方法则刻画对象的行为和动作,每一个成员方法确定一个功能或者操作
首先搭建Java程序框架。打开eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。GuessNumber加上合适的javadoc。
第一步:随机数的产生
我们可以借助Javaapi提供的Random类来产生一个随机数
首先在main函数中加入以下三行代码:
//新建一个随机数产生器,然后生成一个1到100之间的整数。
num=(int) (Math.random()*100);
String answer;
Scanner input=new Scanner(System in);
第二步:标准输入输出
标准输入输出是指可以被应用程序使用的信息流,应用程序可以标准输入(Standard input)读取数据,想标准输出(Standard output)写数据,把出错信息发送到标准错误
痛处输入输出可应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从unix发展出来的概念,在windoes也广泛使用。
猜数字游戏主要是通过控制台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。
第三步;对图形界面的窗口进行设计。
运行结果:
结对人:计科高职13-3杨磊
http://www.cnblogs.com/yangdaxia/p/4507586.html