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(guessnumJOptionPane.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(nt2.setText("小了,请输入个大点的数字");
elseif(n>num)
t2.setText("大了,请输入个小点的数字");
else{
t2.setText("恭喜你,猜对了");
Randomrand1=newRandom();
num=rand1.nextInt(100);
}
}
if(j.getSource()==b2){
t2.setText(""+num);//重新输入数字
}
}
//(如有异常)进行输入数字异常处理
catch(Exceptione){
}
}
}