当前位置: 技术问答>java相关
今天做了一个猜数字的小游戏,很难猜的,如果是高智商的可以试试,我怎么也猜不着,来者给分,
来源: 互联网 发布时间:2015-02-03
本文导语: 这是一个猜数游戏,以前大家也肯定玩过,就是取得一个随机的"各不相同"的四位数,然后你猜。举个例子:随机的四位数为1234,如果你猜为7419,则显示为2B,意思是对了2个数字,B表示你的2个数字的位置不对,如果...
这是一个猜数游戏,以前大家也肯定玩过,就是取得一个随机的"各不相同"的四位数,然后你猜。举个例子:随机的四位数为1234,如果你猜为7419,则显示为2B,意思是对了2个数字,B表示你的2个数字的位置不对,如果你猜为1230,则显示为3A,意思是你猜中了3个数,且位置是对的。知道了吗!
如果大家觉的可以,我想完善它,给它更好的界面,更好的互动性。如果觉的不好,就多骂几句 :),不会生气,虚心接受。
以下是原代码,是我一行一行手写输入的。编的很烂,但能运行,jdk1.3环境
import java.awt.event.*;
import javax.swing.*;
import java.lang.String;
import java.awt.*;
import javax.swing.event.*;
public class Guess extends JFrame
{
int temp;
int a=0;
int b=0;
String str;
String str3;
public Guess()
{
setTitle("猜数字了,考考你的脑子!");
setSize(400,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
buttontop=new JButton("确定");
buttonbut=new JButton("看答案");
text1=new JTextField("",4);
text2=new JTextField("",4);
label1=new JLabel("请输入4位数:");
label2=new JLabel("数字提示:");
textarea=new JTextArea(" 这是一个猜数游戏,以前大家也肯定玩过,就是取得一个随机的"各不相同"的四位数,然后你猜。举个例子:随机的四位数为1234,如果你猜为7419,则显示为2B,意思是对了2个数字,B表示你的2个数字的位置不对,如果你猜为1230,则显示为3A,意思是你猜中了3个数,且位置是对的。",100,50);
textarea.setLineWrap(true);
textarea.setWrapStyleWord(true);
buttonbut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
doButtonBut();
}
});
buttontop.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
doButtonTop();
}
});
Container contentPane=getContentPane();
GridBagLayout con=new GridBagLayout();
contentPane.setLayout(con);
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=20;
add(label1,constraints,0,0,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=0;
add(text1,constraints,1,0,1,1);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttontop,constraints,2,0,1,1);
add(label2,constraints,0,1,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text2,constraints,1,1,1,1);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttonbut,constraints,2,1,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.NORTH;
add(textarea,constraints,0,2,3,3);
do
{
temp=getRandom(1000,9999);
str3=String.valueOf(temp);
char chr2[]=new char[4];
chr2[0]=str3.charAt(0);
chr2[1]=str3.charAt(1);
chr2[2]=str3.charAt(2);
chr2[3]=str3.charAt(3);
}
while((str3.charAt(0)==str3.charAt(1))||(str3.charAt(0)==str3.charAt(2))||(str3.charAt(0)==str3.charAt(3))||(str3.charAt(1)==str3.charAt(2))||(str3.charAt(1)==str3.charAt(3))||(str3.charAt(2)==str3.charAt(3)));
/*System.out.println(String.valueOf(temp));
System.out.println(java.lang.Math.random());
*/
}
public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
getContentPane().add(c,constraints);
}
public static int getRandom(int min,int max)
{
int rand=0;
try
{
if (min>max)
{
return 0;
}
rand=min+(int)((max-min+1)*java.lang.Math.random());
}
catch(Exception e)
{}
return rand;
}
public void doButtonBut()
{
text2.setText(str);
textarea.setText("小伙子小MM们,干吗这么急吗,再动动脑子啊, :) 你是有实力的,你的智商是一流的,你可以再分析一下吗,如果不行可以用笔啊纸啊什么的,反正是慢慢排,肯定可以的啊,你要记住,你是超级无敌,战无不胜,攻无不克,震惊中外,前无古人,后无来者的神猜王啊!!!向我们的神猜王鞠躬");
}
public void doButtonTop()
{
int a=0;
int b=0;
str=str3;
String str1;
String str2;
str2=text1.getText();
str1=str2.trim();
char chr[]=new char[4];
char chr1[]=new char[4];
chr[0]=str.charAt(0);
chr[1]=str.charAt(1);
chr[2]=str.charAt(2);
chr[3]=str.charAt(3);
chr1[0]=str1.charAt(0);
chr1[1]=str1.charAt(1);
chr1[2]=str1.charAt(2);
chr1[3]=str1.charAt(3);
for (int x=0;x
如果大家觉的可以,我想完善它,给它更好的界面,更好的互动性。如果觉的不好,就多骂几句 :),不会生气,虚心接受。
以下是原代码,是我一行一行手写输入的。编的很烂,但能运行,jdk1.3环境
import java.awt.event.*;
import javax.swing.*;
import java.lang.String;
import java.awt.*;
import javax.swing.event.*;
public class Guess extends JFrame
{
int temp;
int a=0;
int b=0;
String str;
String str3;
public Guess()
{
setTitle("猜数字了,考考你的脑子!");
setSize(400,200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
buttontop=new JButton("确定");
buttonbut=new JButton("看答案");
text1=new JTextField("",4);
text2=new JTextField("",4);
label1=new JLabel("请输入4位数:");
label2=new JLabel("数字提示:");
textarea=new JTextArea(" 这是一个猜数游戏,以前大家也肯定玩过,就是取得一个随机的"各不相同"的四位数,然后你猜。举个例子:随机的四位数为1234,如果你猜为7419,则显示为2B,意思是对了2个数字,B表示你的2个数字的位置不对,如果你猜为1230,则显示为3A,意思是你猜中了3个数,且位置是对的。",100,50);
textarea.setLineWrap(true);
textarea.setWrapStyleWord(true);
buttonbut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
doButtonBut();
}
});
buttontop.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
doButtonTop();
}
});
Container contentPane=getContentPane();
GridBagLayout con=new GridBagLayout();
contentPane.setLayout(con);
GridBagConstraints constraints=new GridBagConstraints();
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=20;
add(label1,constraints,0,0,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=20;
constraints.weighty=0;
add(text1,constraints,1,0,1,1);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttontop,constraints,2,0,1,1);
add(label2,constraints,0,1,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.SOUTH;
add(text2,constraints,1,1,1,1);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.SOUTH;
constraints.weightx=100;
constraints.weighty=0;
add(buttonbut,constraints,2,1,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
constraints.anchor=GridBagConstraints.NORTH;
add(textarea,constraints,0,2,3,3);
do
{
temp=getRandom(1000,9999);
str3=String.valueOf(temp);
char chr2[]=new char[4];
chr2[0]=str3.charAt(0);
chr2[1]=str3.charAt(1);
chr2[2]=str3.charAt(2);
chr2[3]=str3.charAt(3);
}
while((str3.charAt(0)==str3.charAt(1))||(str3.charAt(0)==str3.charAt(2))||(str3.charAt(0)==str3.charAt(3))||(str3.charAt(1)==str3.charAt(2))||(str3.charAt(1)==str3.charAt(3))||(str3.charAt(2)==str3.charAt(3)));
/*System.out.println(String.valueOf(temp));
System.out.println(java.lang.Math.random());
*/
}
public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
getContentPane().add(c,constraints);
}
public static int getRandom(int min,int max)
{
int rand=0;
try
{
if (min>max)
{
return 0;
}
rand=min+(int)((max-min+1)*java.lang.Math.random());
}
catch(Exception e)
{}
return rand;
}
public void doButtonBut()
{
text2.setText(str);
textarea.setText("小伙子小MM们,干吗这么急吗,再动动脑子啊, :) 你是有实力的,你的智商是一流的,你可以再分析一下吗,如果不行可以用笔啊纸啊什么的,反正是慢慢排,肯定可以的啊,你要记住,你是超级无敌,战无不胜,攻无不克,震惊中外,前无古人,后无来者的神猜王啊!!!向我们的神猜王鞠躬");
}
public void doButtonTop()
{
int a=0;
int b=0;
str=str3;
String str1;
String str2;
str2=text1.getText();
str1=str2.trim();
char chr[]=new char[4];
char chr1[]=new char[4];
chr[0]=str.charAt(0);
chr[1]=str.charAt(1);
chr[2]=str.charAt(2);
chr[3]=str.charAt(3);
chr1[0]=str1.charAt(0);
chr1[1]=str1.charAt(1);
chr1[2]=str1.charAt(2);
chr1[3]=str1.charAt(3);
for (int x=0;x