Java课程设计(猜数字游戏)完整版
殇之木乃伊出装-恰似你的温柔歌词
课程设计任务书
学 院
课程名称
起止时间
计算机与信息工程学院
面向对象程序设计(Java)
专 业
题
目
2014计科(对口)
猜数字游戏
2015年12月25日至2015年12月31日
一、项目的目的
1.
巩固和加深学生对面向对象程序设计(Java)这门课程基本知识的
理解,综合该课程中所学的理论知
识,独立或联合完成一个Java图形界面
应用课题的设计;
2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问
题的能力;
3.熟练运用基本的对象和类的操作知识,基本的图形界面的编写能力。
内
容
及
任
务
二、主要内容和要求
本此设计主要是用于猜数字游戏
,首先,计算机产生一个随机数,然后
用户猜数,并显示出提示信息,以及游戏规则等功能。
三、设计思路
猜数字游戏思路比较简单,首先得产生一个随机数让用户来猜,然后用
peidui()方法来匹配用户输入的数是否正确。如果不正确则根据提示信息继
续猜数。直到猜出正
确结果。
四、具体成果形式和要求
程序和设计说明书,在该程序中通过Eclipse来运
行猜数字游戏程序,
程序代码主要由三个方法体组成。Random()方法是用来产生随机数的功能。
Peidui()方法用来匹配数字信息的。最后,Game()方法是用来设计界面
布局以及监听器的设计和猜数次数的显示信息.
起止日期
进
度
安
排
工作内容
2015年12月25号至
需求分析,按照课题要求,搜集查阅相关参考资料
2015年12月27号
2015年12月28号
概要设计和详细设计阶段,根据前期的需求分析结
果,定义
程序实现所需的各类方法及完成各方法的
功能
2015年12月28号至
程序的进一步完善,测试结果,撰写课程设计报告
2015年6月29号
2015年12月30号至
撰写课程设计报告,并且进行答辩
2015年12月31号
系(教研室)
主任意见
签 名: 年 月
日
2015-2016学年第一学期
面向对象程序设计(Java)
课程设计说明书
班级名称: 2014计算机科学与技术(对口)
学生姓名: 徐竹青
学 号: 2014214190
题 目: 猜数字游戏
指导教师: 徐志红
起止日期: 2015年12月25日至2015年12月31日
计算机与信息工程学院
目 录
1.选题背景
..................................................
..................................................
............................... 1
2.设计思路......
..................................................
..................................................
............................. 1
2.1 课程设计思想 ...
..................................................
..................................................
............. 1
2.1.1设计内容 ....................
..................................................
............................................ 1
2.1.2设计要求 ....................................
..................................................
............................ 1
2.2功能需求 .......
..................................................
..................................................
.................. 1
2.3软硬件运行环境及开发工具 .........
..................................................
.................................. 1
3.过程论述...
..................................................
..................................................
................................ 2
3.1需求分析 ...
..................................................
..................................................
...................... 2
3.1.1系统功能图 ..........
..................................................
..................................................
2
3.1.2知识点 ...................................
..................................................
................................. 2
3.2程序代码分析
..................................................
..................................................
................. 2
4.结果分析....................
..................................................
..................................................
............... 7
4.1测试与操作说明 .................
..................................................
.............................................. 7
4.2测试数据及程序运行情况 ...............................
..................................................
................ 7
4.2.1猜数游戏结果 ...............
..................................................
......................................... 7
5.结论 .........................................
..................................................
..................................................
. 8
参考文献......................................
..................................................
..................................................
. 8
致 谢 .....................................
..................................................
..................................................
..... 8
1.选题背景
Java语言作为当今Internet上最流行的编程语言,它的产生自然与游戏密切相关。本
次课程
设计是为了配合Java程序设计课程,帮助学生深入学习和掌握Java语言,熟练运用
这个工具而设
立的课程。通过课程设计的综合训练,加强学生对Java语言的理解,检验学
生对专业理论知识的理解
与掌握程度,锻炼学生综合运用Java程序设计所学的知识,实际
分析问题、解决问题的能力。 通过对猜数字游戏程序设计的学习,使学生掌握编程的基本方法,能够根据现实生活实
践编制出一些
使用的小程序,为以后学习其他相关课程打下基础。
2.设计思路
2.1 课程设计思想
2.1.1设计内容
设计一个猜数字游戏程序,要求具体如下特性:
(1)
输入任意一个数字。数字的要求是0-1000的自然数即可。
(2)系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成的数相比较,
如果输入的数字和位置都正确。则提示为A,如果数字正确,位置错误,则提示为B。
(3)每猜测一次,系统会记录下来。显示剩余的猜数次数。
2.1.2设计要求
设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入
数字来匹配上面所
产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计
算机将提醒用户,游戏成功的信
息,当有偏差时,将会提醒偏差,如0A1B,0A
表示用户没
有猜对一个数字和位置都正确的数,1B 表示用户猜对了一个数字,但数字的位置是错的。
2.2功能需求
一个较完善的猜数字游戏的程序功能,应该具有产生随机数、用户输入数字、如何猜数
等功能。
所以要求完成以下功能:
(1)首先计算机内部产生一个随机数。
(2)由用户输入数字,根据程序的格式限制,来判断用户输入的数格式是否正确。
(3)如何进行猜数,并显示出猜数的次数以及剩余的次数。
2.3软硬件运行环境及开发工具
(1)编成语言:Java语言。
(2)开发环境:Microsoft Windows 7、JDK,Eclispse。
1
3.过程论述
3.1需求分析
3.1.1系统功能图
猜数字游戏的几个功能可将本游戏程序分为三大模块:(1)由电脑随机产生一个随
(2)用户输入几位数并判断数的格式;(3)显示提示信息及用户所剩余的机会。
各功能模块如图3-1所示。
由电脑随机产生一
个随机数
猜数字游戏
用户输入几位数并
判断数的格式
图3-1功能模块图
显示提示信息及用
户所剩余的机会
3.1.2知识点
本程序是一个简单的记事本程序,涉及到了以下知识点:
(1)类的继承。
(2)图形化用户界面。
(3)事件处理,如:事件源、监听器、事件处理器。
3.2程序代码分析
(1)将用户输
入的四位数与计算机产生的随机数匹配,如果数字和位置完全正确A++;如
果位置错误则B++;界面
的显示情况如图3-2所示。
图3-2猜数界面提示信息图
2
代码如下:
public void peidui(){
A=0;
B=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if
(Random[i]==Enter[j])
{
if (i==j)
A++;
else
B++;
}
(
while(true){
if(y!=0){
(你还有次机会!
y--;
}
else
(你猜错了,请重新游戏!正确结果
是:
break
}
if
(A==4&&B==0){
(恭喜你猜对了!
}
}
(2)图形用户界面的设计与布局。如图3-2所示
3
图3-3猜数字游戏开始状态
图3-2猜数字游戏界面
代码如下:
public Game(){
super(猜数字游戏
Randomnum();
Container n=tentPane();
out(new BorderLayout());
jlb1=new JLabel(请输入
bt=new JButton(确定
JPanel jp1=new JPanel();
JPanel jp2=new
JPanel();
JPanel jp3=new JPanel();
(
(
out(new FlowLayout());
(jlb1);
(tf);
ible(true);
getContentPane().add(scp);
out(new
FlowLayout());
nds(140, 170, 80, 30);
(bt);
ible(true);
ionListener(this);
ionListener(this);
4
(mit1);
(mit2);
ionListener(this);
(menu1);
e(300, 300);
nuBar(jmb);
ible(true);
aultCloseOperation(_ON_CLOSE);
设置窗口可关闭
}
(3)在游戏界面单击“游戏”菜单下的“规则”子菜单,将会出现如图3-3所示。
图3-3游戏规则对话框
代码如下:
public void actionPerformed (ActionEvent n){
}
(3)输入的数字格式不正确,单击确定按钮时,出现在“文本域”中的提示信
息,如图3-4
所示。
if(ionCommand().equals(规则
}
if(ionCommand().equals(退出
(0);
nds(600, 350, 300, 150);
out(new
BorderLayout());
le(游戏规则
(
(
(
ible(true);
5
图3-4数字格式匹配信息提示图
代码如下:
if(ionCommand().equals(确定
try {
x=0;
int
z=f(t()); 获取文本中的值,将它转换
for(int
i=3;i>=0;i--){ 成整型
}
} catch (Exception m) {
(请检查输入值的格式!
x=1;
}
if (t().length()!=4)
{
(请输入四位数字!
Enter[i]=z%10;
z=z10;
}
else if
(x==0){
for (i=0;i<4;i++)
for(j=0;j<4;j++)
{
if (Enter[i]==(Enter[j])&&i!=j)
{
6
(请输入4不同的数字!
break
}
else if (i==3&&j==3)
peidui();
}
}
}
}
4.结果分析
4.1测试与操作说明
使用Eclipse,打开猜数字游戏.Java文件,接着纠正错误,无错误,最后执行该文件。 <
br>要求用户在请输入后的文本框中输入数字,如果输入格式不正确会出现“请输入正确的格式”
的提
示信息;如果输入的不是四位数会出现“请输入四位数的提示信息”;如果输入的数字
格式是正确的,那
么将根据提示信息进行猜数,直到猜出正确结果。
4.2测试数据及程序运行情况
4.2.1猜数游戏结果
如图4-4所示
图4-1猜数游戏结果
7
5.结论
猜数字是一款非常经典的脑力游戏,游戏规则简单,但是
玩起来难度较大,是消磨时间、
锻炼脑力的好选择。通过选择猜数字游戏这个题目,可以让我掌握Jav
a中的包和类,并且
可以灵活的使用Eclipse软件。同时更加深入的了解字符界面的编程过程。使
我更熟练的掌
握Java程序框架的搭建和类的创建格式。在分析阶段,要进行面向对象的需求分析、系
统
设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培
养
我思考的全面性。让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
参考文献
[1] 赵生慧. Java面向对象程序设计.中国水利水电出版社
[2] 赵生慧.
Java面向对象程序设计实训与考试指导.中国水利水电出版社
致 谢
在此向所有关心
我及帮助我的老师和同学致以最真诚的感谢。在本次课程设计中,尤其
要感谢徐志红老师,对我们的课程
设计时刻的关注,当我们遇到困难时给了我们很大的帮助,
同时我还要感谢马骏老师给我的指导,让我更
深刻的明白了布局管理器的作用,交给了我认
真独立完成工作的理念,使得我能够按时完成这次的课程设
计。
指导教师评语:
成绩评定:
指导教师签名:
填表日期:
年 月 日
8