当前位置:  技术问答>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

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 数字签名,数字签名,数字签名!!
  • java实现判断字符串是否全是数字的四种方法代码举例
  • asp正则表达式匹配数字$数字$数字$
  • 高手请赐招:数字签名与数字认证的区别,尤其是概念上的区别。谢谢!
  • 请问linux用户名能否用数字?怎么才能用数字开头呢?
  • 请教:Java 中数字字符串转化为数字的问题
  • awk的数字运算中,数字变量的值的范围多少?
  • jquery禁止输入数字以外的字符的示例(纯数字验证码)
  • 对applet坐数字签名后,如果重新用jar对applet打包,需要重新做applet数字签名吗?
  • 请问,用c如何将一串数字字符转换成数字
  • 只能是字母或数字或者是字母和数字的组合的正则previousSibling
  • 请问Java中如何在控制台一行内输入n个数字,然后再在一行内输出这些数字
  • sql server 字段 全角数字转半角数字的代码分享
  • c语言中怎样从字母和数字组成的字符串中提取数字?
  • 如何让IE认识applet所带的数字签名,而不是让证书仓库认识这个带数字签名的applet,就是说不装jdk也可以在IE里面使用带有签名的applet,详情请进
  • php生成随机字符串(自定义纯数字、纯字母或数字字母混合)
  • 关于数字签名的几点疑问??另:csdn的数字签名帖子我都看过,不要介绍给我,我是诚心提问!!
  • python实现猜数字游戏(无重复数字)示例分享
  • awk的数字计算,能指为long long 64位整数么?
  • java/j2ee iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3