猜数字java程序设计.docx

上传人:b****2 文档编号:18862285 上传时间:2023-04-24 格式:DOCX 页数:15 大小:104.45KB
下载 相关 举报
猜数字java程序设计.docx_第1页
第1页 / 共15页
猜数字java程序设计.docx_第2页
第2页 / 共15页
猜数字java程序设计.docx_第3页
第3页 / 共15页
猜数字java程序设计.docx_第4页
第4页 / 共15页
猜数字java程序设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

猜数字java程序设计.docx

《猜数字java程序设计.docx》由会员分享,可在线阅读,更多相关《猜数字java程序设计.docx(15页珍藏版)》请在冰豆网上搜索。

猜数字java程序设计.docx

猜数字java程序设计

北方民族大学

大作业报告

(游戏程序设计)

 

系(部、中心)计算机科学与工程学院

姓名胡连香学号20113404 

专业信息管理与信息系统班级2011级信班

课程名称Java语言程序设计

作业题目名称《猜数字游戏程序设计》

起止时间2013年5月22日

成绩 

指导教师签贾艳波

游戏程序设计

一、游戏的基本规则

游戏规则如下:

 

(1). 输入一个数字,数字的范围再1-100之间,系统利用随机生成数. 

(2).如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入. 

(3).如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入. 

(4). 如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入. 

(5).系统根据您猜数字的次数,自动计数. 

(6).直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统. 

二、主要思想和算法

主要思想:

程序的运行将分为5个模块,并且每一个模块都相互联系。

游戏的对象主要是玩家和电脑,电脑通过随机的获取一个数字作为数字比较的对象,同时玩家随意的输入一个数字与随机数进行比较,从而体现猜数字的过程。

以下是5大模块的详解:

1随机数的获取:

玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。

2输入输出模块:

对玩家输入的数字进行判断和提示。

如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。

如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。

如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

3判断模块:

算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。

4自动计数模块:

系统根据您猜数字的次数,自动计数.

5结果输出模块:

直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.

 

主要算法:

随机数的获取:

intaa=(int)(Math.random()*100);

intcount=0;//计数器,统计猜测次数

判断输入的数字与随机数的大小关系,并输出结果:

if(guessnum>aa){

JOptionPane.showMessageDialog(null,"大了,请输入个小点的数字!

");

}

if(guessnum

JOptionPane.showMessageDialog(null,"小了,请输入个大点的数字!

");

}

if(guessnum==aa){

JOptionPane.showMessageDialog(null,"恭喜你,猜对了!

您一共猜了"+count+"次");

//"是否继续?

Y/N"

Strings=JOptionPane.showInputDialog(null,"是否继续?

Y/N");

if("Y".equals(s)||"y".equals(s)){

JOptionPane.showMessageDialog(null,"程序已重新开始!

");

go();

//继续游戏

}elseif("N".equals(s)||"n".equals(s)){

JOptionPane.showMessageDialog(null,"程序已关闭!

");

System.exit(0);//退出程序

}

设置窗体大小和背景颜色:

publicvoidinit(){

setSize(230,300);

setBackground(Color.pink);

程序开始执行:

publicvoidactionPerformed(ActionEventj){

intn;

try{

.........

}

三、游戏软件系统的简介:

游戏分为随机数的获取,输入输出模块,判断模块,自动计数模块,结果输出模块。

其中输入输出模块中系统会对玩家给出的数进行判断和输出。

判断模块会对玩家的水平进行判断,并计算出玩家所用的时间和次数。

   

1、随机数的获取:

功能描述:

玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。

2输入输出模块

功能描述:

对玩家输入的数字进行判断和提示。

如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。

如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。

如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

 

3判断模块

功能描述:

算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。

 

 

 

 

4自动计数模块

功能描述:

系统根据您猜数字的次数,自动计数.

5结果输出模块

功能描述:

直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.

 

给出程序的功能模块,一般需要有功能模块图

综述程序结构,由几个类构成,每个类的功能是什么。

这部分一般还需给出类之间的关系图。

四、程序关键类的实现

程序初始化:

publicclassTest04{

publicstaticvoidmain(String[]args){

go();

}

获取第一个数字:

try{

temp=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数字:

"));

设置窗体大小和背景颜色:

publicvoidinit(){

setSize(230,300);

setBackground(Color.red);

获取游戏中新的窗体和事件选择:

classGuessextendsAppletimplementsActionListener{

Panelp1,p2,p3,p4;

Buttonb1,b2;

Labell1,l2;

TextFieldt1;

TextAreat2;

intnum;

获取0--100的随机数:

(Math.random()*100)

在窗体中进行事件操作:

publicvoidactionPerformed(ActionEventj){

intn;

try{

}

进行鼠标和键盘事件监听:

classGuessextendsAppletimplementsActionListener{

Panelp1,p2,p3,p4;

Buttonb1,b2;

Labell1,l2;

TextFieldt1;

TextAreat2;

intnum;

 

5、程序的执行流程

程序开始运行时,自动生成一个窗体。

提示输入数字,点击确定或者取消;点击确定,判断输入的数字与随机数的大小;同时产生结果提示:

输入的大了,再小一点的吧或者输入的太小了,再大一点的吧或者是恭喜你,猜对了,您一共踩了##次。

根据提示重新输入数字或者开始新的一次猜数字游戏或者结束游戏。

六、游戏软件的主要界面截图

主要的功能界面截图要加文字描述。

七、程序代码:

这部分的要求附完整的程序代码,并且代码中必须加必要的注释。

 

importjava.awt.Panel;

importjava.awt.TextArea;

importjava.awt.TextField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.Random;

importjavax.swing.JOptionPane;

publicclassTestO4{

privatestaticintaa;

publicstaticvoidmain(String[]args){

go();

}

privatestaticvoidgo(){//程序逻辑结from1to100

intaa=(int)(Math.random()*100);//产生1--100之间的随机数

intcount=0;//计数器,统计猜测次数

intguessnum=0;

while(true){

inttemp=0;

System.out.println(aa);

try{

temp=Integer.parseInt(JOptionPane.showInputDialog("请输入一个数字:

"));//玩家输入数字

}

//输入数字异常处理

catch(NumberFormatExceptione){

e.printStackTrace();

}catch(HeadlessExceptione){

e.printStackTrace();

}

//输入的数字与随机数进行比较

guessnum=temp;

if(guessnum>aa){

JOptionPane.showMessageDialog(null,"大了,请输入个小点的数字!

");

}

if(guessnum

JOptionPane.showMessageDialog(null,"小了,请输入个大点的数字!

");

}

if(guessnum==aa){

JOptionPane.showMessageDialog(null,"恭喜你,猜对了!

您一共猜了"+count+"次");

//"是否继续?

Y/N"

Strings=JOptionPane.showInputDialog(null,"是否继续?

Y/N");

if("Y".equals(s)||"y".equals(s)){

JOptionPane.showMessageDialog(null,"程序已重新开始!

");

go();

}elseif("N".equals(s)||"n".equals(s)){

JOptionPane.showMessageDialog(null,"程序已关闭!

");

System.exit(0);//退出程序

}

}

count++;//记录猜中的次数

}

}

//添加键盘事件的空方法

publicvoidaddActionListener(Guessguess){

//TODOAuto-generatedmethodstub

}

}

//添加鼠标和键盘事件的监听器

classGuessextendsAppletimplementsActionListener{

Panelp1,p2,p3,p4;//游戏执行过程中的4个窗体

TestO4b1,b2;//定义每个窗体的选择按钮

Labell1,l2;//比较结果提示

TextFieldt1;//定义比较结果1

TextAreat2;//定义比较结果2

intnum;//输入数字

publicvoidinit(){

setSize(230,300);

setBackground(Color.pink);

l1=newLabel("这是一个猜数字程序(0-100)",Label.CENTER);

l2=newLabel("begin:

");//游戏开始提示

t1=newTextField(10);//获取比较结果1

t2=newTextArea("",10,30);//获取比较结果2

b1=newTestO4();//获取选择那按钮1(确定)

b2=newTestO4();//获取选择那妞2(取消)

//获取新的随机数

Randomrand=newRandom();

num=rand.nextInt(100);

//再一次添加鼠标和键盘事件监听器

b1.addActionListener(this);

b2.addActionListener(this);

//获取新的窗体和选择按钮,再一次添加鼠标和键盘事件

add(l1);

add(l2);

add(t1);

add(t2);

add(b1);

add(b2);

}

//添加窗体选择按钮的空方法

privatevoidadd(TestO4b22){

//TODOAuto-generatedmethodstub

}

//开始执行程序

publicvoidactionPerformed(ActionEventj){

intn;

try{

//输入的数字与随机数比较,并输出比较结果

if(j.getSource()==b1){

Strings;

s=String.valueOf(t1);//获取确定按钮信息

if(pareTo("1")<0||pareTo("9")>0)

t2.setText("输入有误!

\n请重新输入!

");

n=Integer.parseInt(t1.getText());

if(n

t2.setText("小了,请输入个大点的数字");

elseif(n>num)

t2.setText("大了,请输入个小点的数字");

else{

t2.setText("恭喜你,猜对了");

Randomrand1=newRandom();

num=rand1.nextInt(100);

}

}

if(j.getSource()==b2){

t2.setText(""+num);//重新输入数字

}

}

//(如有异常)进行输入数字异常处理

catch(Exceptione){

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1