Java课程设计猜数字游戏完整版.docx
- 文档编号:12591361
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:13
- 大小:137.02KB
Java课程设计猜数字游戏完整版.docx
《Java课程设计猜数字游戏完整版.docx》由会员分享,可在线阅读,更多相关《Java课程设计猜数字游戏完整版.docx(13页珍藏版)》请在冰豆网上搜索。
Java课程设计猜数字游戏完整版
课程设计任务书
学院
计算机及信息工程学院
专业
2014计科(对口)
课程名称
面向对象程序设计(Java)
题目
猜数字游戏
起止时间
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.选题背景
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)开发环境:
MicrosoftWindows7、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猜数界面提示信息图
代码如下:
publicvoidpeidui(){
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猜数字游戏界面
代码如下:
publicGame(){
super("猜数字游戏");
Randomnum();
Containern=this.getContentPane();
n.setLayout(newBorderLayout());
jlb1=newJLabel("请输入");
bt=newJButton("确定");
JPaneljp1=newJPanel();
JPaneljp2=newJPanel();
JPaneljp3=newJPanel();
n.add("North",jp1);
n.add("South",jp3);
jp1.setLayout(newFlowLayout());
jp1.add(jlb1);
jp1.add(tf);
jp1.setVisible(true);
getContentPane().add(scp);
jp3.setLayout(newFlowLayout());
bt.setBounds(140,170,80,30);
jp3.add(bt);
jp3.setVisible(true);
mit1.addActionListener(this);
mit2.addActionListener(this);
menu1.add(mit1);
menu1.add(mit2);
bt.addActionListener(this);
jmb.add(menu1);
this.setSize(300,300);
this.setJMenuBar(jmb);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口可关闭
}
(3)在游戏界面单击“游戏”菜单下的“规则”子菜单,将会出现如图3-3所示。
图3-3游戏规则对话框
代码如下:
publicvoidactionPerformed(ActionEventn){
if(n.getActionCommand().equals("规则")){
dlg.setBounds(600,350,300,150);
dlg.setLayout(newBorderLayout());
dlg.setTitle("游戏规则");
dlg.add("North",jlb);
dlg.add("Center",jlb2);
dlg.add("South",jlb3);
dlg.setVisible(true);
}
if(n.getActionCommand().equals("退出")){
System.exit(0);
}
(3)输入的数字格式不正确,单击确定按钮时,出现在“文本域”中的提示信息,如图3-4所示。
图3-4数字格式匹配信息提示图
代码如下:
if(n.getActionCommand().equals("确定")){
try{
x=0;
intz=Integer.valueOf(tf.getText());//获取文本中的值,将它转换
for(inti=3;i>=0;i--){//成整型
Enter[i]=z%10;
z=z/10;
}
}catch(Exceptionm){
ta.append("\n"+"请检查输入值的格式!
");
x=1;
}
if(tf.getText().length()!
=4)
{
ta.append("\n"+"请输入四位数字!
");
}
elseif(x==0){
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(Enter[i]==(Enter[j])&&i!
=j)
{
ta.append("\n"+"请输入4不同的数字!
");
break;
}
elseif(i==3&&j==3)
peidui();
}
}
}
}
4.结果分析
4.1测试及操作说明
使用Eclipse,打开猜数字游戏.Java文件,接着纠正错误,无错误,最后执行该文件。
要求用户在请输入后的文本框中输入数字,如果输入格式不正确会出现“请输入正确的格式”的提示信息;如果输入的不是四位数会出现“请输入四位数的提示信息”;如果输入的数字格式是正确的,那么将根据提示信息进行猜数,直到猜出正确结果。
4.2测试数据及程序运行情况
4.2.1猜数游戏结果
如图4-4所示
图4-1猜数游戏结果
5.结论
猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。
通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用Eclipse软件。
同时更加深入的了解字符界面的编程过程。
使我更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。
让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
参考文献
[1]赵生慧.Java面向对象程序设计.中国水利水电出版社
[2]赵生慧.Java面向对象程序设计实训及考试指导.中国水利水电出版社
致谢
在此向所有关心我及帮助我的老师和同学致以最真诚的感谢。
在本次课程设计中,尤其要感谢徐志红老师,对我们的课程设计时刻的关注,当我们遇到困难时给了我们很大的帮助,同时我还要感谢马骏老师给我的指导,让我更深刻的明白了布局管理器的作用,交给了我认真独立完成工作的理念,使得我能够按时完成这次的课程设计。
指导教师评语:
成绩评定:
指导教师签名:
填表日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 数字 游戏 完整版