Java课程设计(猜数字游戏)完整版解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
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。
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猜数界面提示信息图
猜数字游戏 由电脑随机产生一个随机数
用户输入几位数并判断数的格式 显示提示信息及用户所剩余的机会
代码如下:
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++;
}
ta.append("\n"+A+"A"+B+"B "+Enter[0]+Enter[1]+Enter[2]+Enter[3]);
while(true){
if(y!=0){
ta.append("你还有"+y+"次机会!"+"\n");
y--;
}
else
ta.append("你猜错了,请重新游戏!"+"\n"+"\n正确结果
是:"+Random[0]+Random[1]+Random[2]+Random[3]);
break ;
}
if (A==4&&B==0){
ta.append("\n"+"恭喜你猜对了!");
}
}
(2)图形用户界面的设计与布局。如图3-2所示
图3-3猜数字游戏开始状态
图3-2猜数字游戏界面代码如下:
public Game(){
super("猜数字游戏");
Randomnum();
Container n=this.getContentPane();
n.setLayout(new BorderLayout());
jlb1=new JLabel("请输入");
bt=new JButton("确定");
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
n.add("North",jp1);
n.add("South",jp3);
jp1.setLayout(new FlowLayout());
jp1.add(jlb1);
jp1.add(tf);
jp1.setVisible(true);
getContentPane().add(scp);
jp3.setLayout(new FlowLayout());
bt.setBounds(140, 170, 80, 30);
jp3.add(bt);
jp3.setVisible(true);
mit1.addActionListener(this);
mit2.addActionListener(this);