猜数字小游戏
运动项目有哪些-未来的爱人
《程序设计实践I》
题目:
猜数字小游戏
学校:
学院:信息学院
班级:计科(高职)
学号:
姓名:
2014 年 9 月
20 日
实践一 基础程序设计实践
一、实践目的
1、掌握基本输入输出。
2、掌握方法定义与调用,理解参数传递方式。
3、掌握数组的声明、定义与初始化,数组的处理。
4、掌握数组作为方法参数和返回值。
二、实践要求
利用方法、数组、基本输入输出等Java基础知识,给出所选项目的基本设计与实现。
三、项目需求
所选项目名称:猜数字小游戏
功能要求:该程序用图形界面实现下面
功能:用计算机产生一个100以内的
随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小
了,继续猜,
直至猜对为止。游戏结束后给出评语并计算出玩家所用的时间与所猜的次数。
四、项目设计方案
1.随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统
获取随机数。
2 .输入输出模块:对玩家输入的数字进行判断和提示。如果玩家输入的不
是系统要求的数字
,系统将提示您,您输入的不是数字请重新输入.。如果玩家
输入的数字与随机生成数相比较,比随机生
成数小.系统提示您,数字太小请您
重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数
大.系统提
示您,数字太大请您重新输入。
3 .判断模块:算出所用时间在玩家猜中时给出
其所用时间,系统给出对其
水平的判断和是否继续的提示;对玩家要求判断执行。
4
.自动计数模块:系统根据您猜数字的次数,自动计数。
5 .结果输出模块:直到用户猜到数字为止
,提示信息是否继续猜数字,如
果继续将进入下一次游戏,如果退出将退出游戏系统.
2
数
值
输
入
输
出
模
块
计
时
模
块
数
值
比
较
模
块
猜数字小游戏
3
五、
关键算法与技术实现
游
戏随即给出一个0-100(不包括0和100)的数字,然后让你猜是什么数字。
你可以随便猜一个数
字,游戏会提示太大还是太小,从而缩小结果范围。经过几
次猜测与提示后,最终退出答案。在游戏过程
中。记录你最终猜对时所需要的次
数。游戏结束后公布结果。
public class
Zu_guess {
public static void main(String[]
args) {
n(欢迎进入猜数字游戏!
+
请输1个入0到100之间的正整数:
Zu_guess ch = new
Zu_guess();
();
4
}
public void guess() {
int realNumber =
0; 电脑给出的数字。
int yourGuess = 0; 你猜的数字。
Random rand = new Random();
realNumber =
t(100) + 1;
long startTime = tTimeMillis();
获取开始时间
BufferedReader br = new
BufferedReader(new
InputStreamReader());
从字符输入流中读取文本,缓冲各个字符,
从而实现字符、数组和行的高效读取。
while (yourGuess != realNumber) {
try {
yourGuess = nt(ne());
} catch
(Exception e) {
n(请输入一个1至100之间的整数
continue;
在if-else语句中,如果玩家输入不合法,提示以后用conti
nue语句从头
重新执行循环语句,等待玩家输入。从而,guess变量一定包含一个合法的整数,<
br>之后对玩家输入的整数尽心判断。
if (yourGuess < 0 ||
yourGuess > 100) {
n(请输入一个1至100之间的整数:
continue;
5
二分法:如果已知X在[L,R]之内,那么令Y=(L+R)2,如果Y
猜出
来了。如果玩家的猜测数太大或太小,都作出提示,接着把计算器增加一,
表示玩家做过一次猜测。
else if (yourGuess > realNumber) {
n(您猜大了再来,加油哦!!!
} else if (yourGuess <
realNumber) {
n(您猜小了再来,要继续努力哦!!!
}
long endTime = tTimeMillis(); 获取结束时间
if (yourGuess == realNumber) {
n(恭喜您猜中了!!!程序运行时间:
+ (endTime -
startTime) 1000 +
六、完整源码
import .*;
import .*;
public class Zu_guess {
public static void main(String[] args) {
n(欢迎进入猜数字游戏!请输入
1个0到100之间的正整数:
Zu_guess ch = new Zu_guess();
();
}
6
public void guess() {
int realNumber = 0; 电脑给出的数字。
int
yourGuess = 0; 你猜的数字。
Random rand = new
Random();
realNumber = t(100) + 1;
long startTime = tTimeMillis(); 获取开始
时间
BufferedReader br = new BufferedReader(new
InputStreamReader()); 从字符输入流中读取文本,缓
冲各个字符
while (yourGuess != realNumber) {
try
{
yourGuess = nt(ne());
} catch
(Exception e) {
n(请输入一个1至10之间的整数
continue;
}
if (yourGuess < 0
|| yourGuess > 100) {
n(请输入一个1至100之间的整数:
continue;
} else
if (yourGuess > realNumber) {
n(您猜大了再来,加油哦!!!
} else if (yourGuess <
realNumber) {
n(您猜小了再来,要继续努力哦!!!
}
}
7
long endTime
= tTimeMillis(); 获取结束时
间
if (yourGuess
== realNumber) {
n(恭喜您猜中了!!!程序运行
时间:
+ (endTime - startTime) 1000 +
}
}
}
七、使用说明与运行结果截图
使用说明:说明成功运行的相关配置(需要的用户名、密码;如何配置运行环境;相关
资源文件
等)。如:运行程序,根据提示输入每回合题目数量; 然后开始做题,题目数量是
之前用户定义的数量
,每道题目结束都会显示正确与否,错误还会显示正确答案;当指定的
题目数量做完结束后,会显示最终
成绩,成绩以整数显示。
运行结果截图:
8
9