猜数字小游戏JAVA程序报告 (1)

萌到你眼炸
779次浏览
2021年01月01日 03:54
最佳经验
本文由作者推荐

女性减肥食谱-叶圣陶的简介

2021年1月1日发(作者:华仆中)


JAVA程序设计报告
——猜数字小游戏
目录
一、 猜数字小游戏简介 …………………………………………4
二、 用户需求分析………………………………………………4
三、 问题描述……………………………………………………4
1.
2.
课程设计的任务
课程设计的要求
四、 模块设计……………………………………………………5
1.
2.
3.
课程设计的要求
功能模块设计
流程图
五、 功能设计……………………………………………………7
1 . 随机数的产生模块
2 . 输入判断模块
3 . 记录猜测次数模块
4.
5.
6.
计时模块
输入输出模块
成绩判断模块

六、 异常处理……………………………………………………9
七、 调试分析……………………………………………………10


八、 不足之处……………………………………………………11
九、 总结…………………………………………………………12
十、 程序附页……………………………………………………13
摘 要
猜数字是一款非常经典 的脑力游戏,游戏规则简单,是消磨时间、锻炼脑力的好选择。通
过选择猜数字游戏这个题目,可以让我 掌握Java中的包和类,并且可以灵活的使用my eclipse
软件。同时更加深入的了解字符界 面的编程过程。使我更熟练的掌握Java程序框架的搭建和
类的创建格式。在分析阶段,要进行面向对 象的需求分析、系统设计、画出相应的需求分析图、
系统设计模型图,这些工作更能锻炼我的逻辑思维, 更能培养我思考的全面性。让我学会了多
角度思考问题,对我以后的编程奠定了更好的基础。
一、
猜数字小游戏简介
系统随机产生任意一个1—100的自然数,玩家输入数字, 若输入的数字比随机生成数小,系统将提示,
数字太小请您重新输入;如果输入的数字比随机生成数大, 系统将提示,数字太大请您重新输入;若输入的字
符不是合法字符,系统将提示,您输入的数字不合法, 请从新输入,游戏开始时,系统自动记录您猜数字的时
间和次数,结束后显示游戏共花费的次数和时间及 对游戏结果的评价。
二、用户需求分析
设计一个猜数字游戏程序,要求具体如下特性:
a.输入任意一个数字。数字的要求是1—100的自然数即可。
b.系统对您输入的数字进行判断。
如果玩家输入的数字与计算机随机生成数相比较,输入的 数字比随机生成数小.系统将提示您,数字太小
请您重新输入。
如果玩家输入的数字与计算机 随机生成数相比较,如果输入的数字比随机生成数大。系统将提示您,数字
太大请您重新输入。
如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。
c. 游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。
d. 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。
e. 在游戏结束时,可以选择关闭游戏,或者再来一局
f. 游戏结束前可选择直接显示答案
三、问题描述
1.课程设计的任务:


根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。
(1)掌握Java的语言规范,面向对象的核心概念和特性;
(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;
(3)掌握Java应用软件的开发环境和开发过程;
(4)掌握面向对象的思想和程序设计方法。
2.课程设计的要求:
设计一个猜数 字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所
产生的数字。 用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,
当有偏差 时,将会提醒偏差,如偏大或者是偏小。
四、模块设计
1 . 系统总体设计

2 . 功能模块设计
开始界面

3 . 流程图
模块组成
注册 开始游戏
开 始
登陆

五、 功能设
判断模块
显示答案

1 . 随

我们可以
Random类来
首先在
码:
Random
登陆模块
产生随机
产生随机数number
输出输入模块 计时模块
记录时间次数 重新开始
系统开始计时
机数的产生模
借助Java API提供的
由用户输入一个数guess
产生一个随机数。
main函数中加入以下代
random = new Random();
G>N
G=N
GY
2 . 输入
在游戏界面
try {



}
判断模块
中输入不合法
猜大
系统结束计时
猜小
catch (Exception e)
return; }
系统统计猜数次数
及对成绩的评价
{
3 . 记录猜测次数模块
计时模块
结 束


计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。
5 . 输入输出模块
成绩判断模块
etLayout(null);


} catch (Exception e) {
}
try {

etLayout(null); dd(jLabel1);
★欢迎进入有趣的猜数字游戏 ★ 请输入1~100中的任 意一个数:
jTextField1 = new JTextField();

getContentPane().add(jTextField1);
public void
keyPressed(KeyEvent evt) {

jTextField1KeyPressed(evt);
}
});
jButton1 = new JButton();
getContentPane().add(jButton1);
public void actionPerformed(ActionEvent evt) {
jButton1ActionPerformed(evt); dd(jButton2);
public void actionPerformed(ActionEvent evt2) {
jButton2ActionPerformed(evt2); dd(jButton3);
public void actionPerformed(ActionEvent evt3) {
jButton3ActionPerformed(evt3); 按钮被点击时 执行该 方法
}
});
pack();
setLocationRelativeTo(null); 设置窗口在显示器居中显示
}
catch (Exception e) {
}
setVisible(true);
}
private void jButton2ActionPerformed(ActionEvent evt2) {
setVisible(false); 隐藏原界面
return;
}
private void jButton3ActionPerformed(ActionEvent evt3){
setVisible(false);
new GuessNum();
}
private void jButton1ActionPerformed(ActionEvent evt) {


int guess = 0;
counter++; 计数器加一
try {
}
catch (Exception e) {
return;
}
if (guess > number) {
≧v≦)o猜大了
return;
}
if (guess < number) {
≧v≦)o太小啦
return;
}
if (guess == number) {
+ (endTime - startTime) 1000 + 秒的时间答对正确答案!
switch (counter) {
case 1:
∩_∩)O太给力了 吧
break;
case 2:
case 3:
break;
case 4:
case 5:
case 6:
∩_∩)O这么快就猜对,很不错哦!
break;
case 7:
case 8:
case 9:
case 10:
有点慢,还要多练习
break;
default:
break;
}
}
setVisible(false); 隐藏原界面
}
private void jTextField1KeyPressed(KeyEvent evt) {
“确定”按钮的事件
}
}
public static void main(String[] args) {
成绩判断




}


new GuessNum();
}

小年夜是什么时候-电子商务推广方案


课外阅读的重要性-小学古诗


名副其实-水资源资料


贷款担保-宋小宝相亲2台词


白酒行业报告-我们是一家人作文


民法案例分析-我的书吧


爱新觉罗家谱-张帝的毛毛歌


北京理工大学分数线-小学三年级作文教案