本帖最后由 rgl712 于 2010-06-20 13:42:56 编辑

解决方案 »

  1.   

    路过,帮整理,有空再看import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class LianLianKan extends JFrame implements ActionListener
    {
    MyDialog dialog;
    JMenuBar jmenubar;
    JMenu jmenu1,jmenu2;
    JPanel jpanel;
    int 下标[]=new int[36];
    int grid[][];
    String eng[]={"apple","banana","orange","pear","peach","pineapple","watermelon","grape","tomato","potato","onion","mushroom","carrot",
    "peap","pepper","car","bike","train","subway","plane","truck","motorbike","bus","ear","eye","mouth","nose","leg","hand",
    "hair","back","throat","shoulder","muscle","knee","sister"};
    String chi[]={"苹果","香蕉","橙子","梨","桃子","菠萝","西瓜","葡萄","西红柿","土豆","洋葱","蘑菇",
      "胡萝卜","豌豆","胡椒","汽车","自行车","火车","地铁","飞机","货车","摩托车","公共汽车",
      "耳朵","眼睛","嘴巴","鼻子","腿","手","头发","后背","喉咙","肩膀","肌肉","膝盖","姐妹"};
    JMenuItem jmenuitem1=new JMenuItem("开始"),jmenuitem2=new JMenuItem("再来一局"),
    jmenuitem3=new JMenuItem("难易"),jmenuitem4=new JMenuItem("音效"),
    jmenuitem5=new JMenuItem("退出"),jmenuitem6=new JMenuItem("游戏说明"),
    jmenuitem7=new JMenuItem("关于我们");
    JButton 重列,firstButton,secondButton;
    MyPanel panel;
    JLabel jlabel1,jlabel2;
    CountDown down;
    JButton diamondsButton[][] = new JButton[6][6];
    static boolean pressInformation=false;
    int x0=0,y0=0,x=0,y=0,firstMsg=0,secondMsg=0,validateLV;
    int i,j,k,n,u,v;
    public static void main(String args[])
    {
    LianLianKan lian=new LianLianKan("中英文大战连连看");
    lian.init();
    }
    LianLianKan(String s)
    {
    super(s);
    }
    public void init()
    {
    setLayout(null);
    panel=new MyPanel();
    jlabel1=new JLabel();
    jlabel1.setText("倒计时:");
    jlabel1.setBounds(295,500,80,40);
    jlabel1.setFont(new Font("宋体", Font.BOLD,15));
      jlabel1.setForeground(Color.RED);
    add(jlabel1);
    jlabel2=new JLabel();
    jlabel2.setText("120");
    jlabel2.setBounds(360,499,80,40);
    jlabel2.setFont(new Font("宋体", Font.BOLD,20));
      jlabel2.setForeground(Color.RED);
    add(jlabel2);
    jmenubar=new JMenuBar();
    jmenu1=new JMenu("游戏");
    jmenu2=new JMenu("帮助");
    setJMenuBar(jmenubar);
    jmenubar.add(jmenu1);
    jmenubar.add(jmenu2);
    jmenu1.add(jmenuitem1);
    jmenu1.add(jmenuitem2);
    jmenu1.add(jmenuitem3);
    jmenu1.add(jmenuitem4);
    jmenu1.add(jmenuitem5);
    jmenu2.add(jmenuitem6);
    jmenu2.add(jmenuitem7);
    jmenuitem1.addActionListener(this);
    jmenuitem2.addActionListener(this);
    jmenuitem3.addActionListener(this);
    jmenuitem6.addActionListener(this);
    jmenuitem7.addActionListener(this);
    jmenuitem5.addActionListener(this);
    重列=new JButton("重列");
    setBounds(100,100,600,610);
    add(重列);
    add(panel);
    panel.setBounds(130,505,150,40);
    重列.setSize(70,40);
    重列.setLocation(420,500);
    setVisible(true);
    dialog=new MyDialog(this,"请选择难易程度",true);
    jpanel=new JPanel();
    if(dialog.getMessage()==MyDialog.dif)
    {   
    jpanel.setLayout(new GridLayout(6,6));
    for(int cols = 0;cols < 6;cols++)
    {
    for(int rows = 0;rows < 6;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    }
    }
    u=6;
    v=6;
    int grid[][]=new int[6][6];
    for(int i=0;i<18;i++)
    {
    下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*6);
    int rows=(int)(Math.random()*6);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*6);
    rows=(int)(Math.random()*6);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    if(alike==2)
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }
    if(dialog.getMessage()==MyDialog.eas)
    {
    jpanel.setLayout(new GridLayout(5,4));
    for(int cols = 0;cols < 5;cols++)
    {
    for(int rows = 0;rows < 4;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    }
    }
    u=5;
    v=4;
    int grid[][]=new int[5][4];
    for(int i=0;i<10;i++)
    { 下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*5);
    int rows=(int)(Math.random()*4);
    System.out.println(cols+","+rows);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*5);
    rows=(int)(Math.random()*4);System.out.println(cols+","+rows);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    else
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }
    if(dialog.getMessage()==MyDialog.gen)
    {
    jpanel.setLayout(new GridLayout(6,5));
    for(int cols = 0;cols < 6;cols++)
    {
    for(int rows = 0;rows < 5;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    }
    }
    u=6;
    v=5;
    int grid[][]=new int[6][5];
    for(int i=0;i<15;i++)
    {
    下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*6);
    int rows=(int)(Math.random()*5);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*6);
    rows=(int)(Math.random()*5);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    if(alike==2)
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }
    add(jpanel);
    jpanel.setBounds(50,50,500,430);
    jpanel.setVisible(false);
    }
    public void estimateEven(int placeX,int placeY,JButton bz)
    {
    if(pressInformation==false) //判断是否被选中
    {
    x=placeX;
    y=placeY;
    for(int i=0;i<36;i++)
    {
    if(diamondsButton[x][y].getText()==chi[i]) //如果在中文中取到的
    {
    secondMsg=i;
    }
    else if(diamondsButton[x][y].getText()==eng[i]) //如果在英文中取到的
    {
    secondMsg=i+36;
    }
    }
    secondButton=bz;
    pressInformation=true;
    }
    else
    {
    x0=x;
    y0=y;
    firstMsg=secondMsg;
    firstButton=secondButton;
    x=placeX;
    y=placeY;
    for(i=0;i<36;i++)
    {
    if(diamondsButton[x][y].getText()==chi[i]) //如果在中文中取到的
    {
    secondMsg=i;
    }
    else if(diamondsButton[x][y].getText()==eng[i]) //如果在英文中取到的
    {
    secondMsg=i+36;
    }
    }
    secondButton=bz;
    if(Math.abs(firstMsg-secondMsg)==36&&(secondButton!=firstButton))
    {
    xiao();
    }
    }
    }public void resetJPanel()
    {   
      
    jpanel.removeAll();
    if(dialog.getMessage()==MyDialog.dif)
    {
    jpanel.setLayout(new GridLayout(6,6));
    for(int cols = 0;cols < 6;cols++)
    {
    for(int rows = 0;rows < 6;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    diamondsButton[cols][rows].addActionListener(this);
    }
    }
    int grid[][]=new int[6][6];
    for(int i=0;i<18;i++)
    {
    下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*6);
    int rows=(int)(Math.random()*6);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*6);
    rows=(int)(Math.random()*6);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    if(alike==2)
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }
    if(dialog.getMessage()==MyDialog.eas)
    {
    jpanel.setLayout(new GridLayout(5,4));
    for(int cols = 0;cols < 5;cols++)
    {
    for(int rows = 0;rows < 4;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    diamondsButton[cols][rows].addActionListener(this);
    }
    }
    int grid[][]=new int[5][4];
    for(int i=0;i<10;i++)
    {
    下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*5);
    int rows=(int)(Math.random()*4);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*5);
    rows=(int)(Math.random()*4);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    if(alike==2)
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }
    if(dialog.getMessage()==MyDialog.gen)
    {
    jpanel.setLayout(new GridLayout(6,5));
    for(int cols = 0;cols < 6;cols++)
    {
    for(int rows = 0;rows < 5;rows++)
    {
    diamondsButton[cols][rows]=new JButton();
    jpanel.add(diamondsButton[cols][rows]);
    diamondsButton[cols][rows].addActionListener(this);
    }
    }
    int grid[][]=new int[6][5];
    for(int i=0;i<15;i++)
    {
    下标[i]=(int)(Math.random()*36);  //产生随机数0到119(包括0与119)for(int alike=1;alike<=2;alike++)
    {
    int cols=(int)(Math.random()*6);
    int rows=(int)(Math.random()*5);
    while(grid[cols][rows]!=0)
    {
    cols=(int)(Math.random()*6);
    rows=(int)(Math.random()*5);
    }
    grid[cols][rows]=1;
    if(alike==1)
    {
    diamondsButton[cols][rows].setText(eng[下标[i]]);
    }
    if(alike==2)
    {
    diamondsButton[cols][rows].setText(chi[下标[i]]);
    }
    }
    }
    }this.jpanel=jpanel;
    }