⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lianliankan.java

📁 JAVA连连看游戏源程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*; 
import java.awt.event.*; 
public class lianliankan implements ActionListener 
{ 
  static String s="no"; //用来纪录点击按钮的信息 
  int x0=0,y0=0,x=0,y=0,n1=0,n2=0; //用来纪录按钮的位置信息 
  Frame f,f1; 
  Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10; //添加30个按钮 
  Button b11,b12,b13,b14,b15,b16,b17,b18; // 来实现游戏界面
  Button b19,b20,b21,b22,b23,b24,b25; //可以用数组实现 
  Button b26,b27,b28,b29,b30,bc;  
  Button b,ba,br,bt1,bt2;  
  Panel p1,p2,p3; 
  TextField t; //用来随机显示鼓励信息,执行方法见后面的guli(). 
  Label l; 
  int d[][]={ //用来与界面的8×7网格建立映射关系 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0}, 
  {0,0,0,0,0,0,0} 
  }; 

  public static void main(String[] args) 
  { 
    lianliankan t=new lianliankan(); 
    t.suiji(); 
    t.go(); 
  } 

  public void actionPerformed(ActionEvent e) //再来一次按钮的响应事件。 
  { 
    int d[][]={ 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0}, 
    {0,0,0,0,0,0,0} 
    }; 
    this.d=d; 
    suiji(); 
    f.setVisible(false); 
    f1.setVisible(false); 
    s="no"; 
    go(); 

  } 

   /*  初始化界面  */
  public void go() 
  { 
   l=new Label(" "); 
   f=new Frame("《连连看》游戏"); 
   t=new TextField(); 
   
   p2=new Panel(); 
   p1=new Panel(); 
   p3=new Panel(); 
   
   bc=new Button("退出"); 
   br=new Button("重列"); 
   b=new Button(); 
   
   b1=new Button(String.valueOf(d[1][1])); 
   b2=new Button(String.valueOf(d[1][2])); 
   b3=new Button(String.valueOf(d[1][3])); 
   b4=new Button(String.valueOf(d[1][4])); 
   b5=new Button(String.valueOf(d[1][5])); 
   b6=new Button(String.valueOf(d[2][1])); 
   b7=new Button(String.valueOf(d[2][2])); 
   b8=new Button(String.valueOf(d[2][3])); 
   b9=new Button(String.valueOf(d[2][4])); 
   b10=new Button(String.valueOf(d[2][5])); 
   b11=new Button(String.valueOf(d[3][1])); 
   b12=new Button(String.valueOf(d[3][2])); 
   b13=new Button(String.valueOf(d[3][3])); 
   b14=new Button(String.valueOf(d[3][4])); 
   b15=new Button(String.valueOf(d[3][5])); 
   b16=new Button(String.valueOf(d[4][1])); 
   b17=new Button(String.valueOf(d[4][2])); 
   b18=new Button(String.valueOf(d[4][3])); 
   b19=new Button(String.valueOf(d[4][4])); 
   b20=new Button(String.valueOf(d[4][5])); 
   b21=new Button(String.valueOf(d[5][1])); 
   b22=new Button(String.valueOf(d[5][2])); 
   b23=new Button(String.valueOf(d[5][3])); 
   b24=new Button(String.valueOf(d[5][4])); 
   b25=new Button(String.valueOf(d[5][5])); 
   b26=new Button(String.valueOf(d[6][1])); 
   b27=new Button(String.valueOf(d[6][2])); 
   b28=new Button(String.valueOf(d[6][3])); 
   b29=new Button(String.valueOf(d[6][4])); 
   b30=new Button(String.valueOf(d[6][5])); 
   
   p3.setLayout(null); 
   p1.setSize(500,600);
   p2.setSize(100,40); 
   p3.setSize(300,30); 
   t.setSize(60,30); 
   l.setSize(70,30); 
   
   p1.setLayout(new GridLayout(6,5)); //p1上面放置6行5列按钮
   p1.setBackground(Color.pink); 
   p1.setLocation(100,100); 
   p2.setLocation(0,400); 
   p3.setLocation(50,50); 
   t.setLocation(230,2); 
   l.setLocation(150,2); 
   bc.setLocation(0,40); 
   br.setLocation(0,100); 
   
   p1.setFont(new Font("宋体",64,64));
   p2.setFont(new Font("宋体",44,44));
   f.add(p1); 
   f.add(p2); 
   //f.add(p3); 
   p3.add(l); 
   p3.add(t); 
   p2.add(bc); 
   p2.add(br); 
   p1.add(b1); 
   p1.add(b2); 
   p1.add(b3); 
   p1.add(b4); 
   p1.add(b5); 
   p1.add(b6); 
   p1.add(b7); 
   p1.add(b8); 
   p1.add(b9); 
   p1.add(b10); 
   p1.add(b11); 
   p1.add(b12); 
   p1.add(b13); 
   p1.add(b14); 
   p1.add(b15); 
   p1.add(b16); 
   p1.add(b17); 
   p1.add(b18); 
   p1.add(b19); 
   p1.add(b20); 
   p1.add(b21); 
   p1.add(b22); 
   p1.add(b23); 
   p1.add(b24); 
   p1.add(b25); 
   p1.add(b26); 
   p1.add(b27); 
   p1.add(b28); 
   p1.add(b29); 
   p1.add(b30); 
   f.pack(); 
   f.setBounds(50,10,800,750); 
   f.setResizable(false); 
   f.setVisible(true); 

   bc.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { ex(); } 
   }); 

   br.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { chonglie(); } 
   }); 

   b1.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e){ wei(1,1,b1); } 
   }); 

   b2.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(1,2,b2); } 
   }); 

   b3.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(1,3,b3); } 
   }); 

   b4.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(1,4,b4); } 
   }); 

   b5.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(1,5,b5); } 
   }); 

   b6.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e){ wei(2,1,b6); } 
   }); 

   b7.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(2,2,b7); } 
   }); 

   b8.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(2,3,b8); } 
   }); 

   b9.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(2,4,b9); } 
   }); 

   b10.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e){ wei(2,5,b10); } 
   }); 

   b11.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(3,1,b11); } 
   }); 

   b12.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(3,2,b12); } 
   }); 

   b13.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(3,3,b13); } 
   }); 

   b14.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(3,4,b14); } 
   }); 

   b15.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(3,5,b15); } 
   }); 

   b16.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(4,1,b16); } 
   }); 

   b17.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(4,2,b17); } 
   }); 

   b18.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(4,3,b18); } 
   }); 

   b19.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(4,4,b19); } 
   });

   b20.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(4,5,b20); } 
   }); 

   b21.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e){ wei(5,1,b21); } 
   }); 

   b22.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(5,2,b22); } 
   }); 

   b23.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(5,3,b23); } 
   }); 

   b24.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e){ wei(5,4,b24); } 
   }); 

   b25.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(5,5,b25); } 
   });

   b26.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(6,1,b26); } 
   }); 

   b27.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(6,2,b27); } 
   }); 

   b28.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(6,3,b28); } 
   }); 

   b29.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(6,4,b29); } 
   }); 

   b30.addMouseListener(new MouseAdapter(){ 
     public void mouseClicked(MouseEvent e) { wei(6,5,b30); } 
   }); 

 } 

  /* 退出游戏界面 */
 public void ex()  
 { 
  f1=new Frame("退出《连连看》游戏"); 
  f1.setLayout(new GridLayout(1,1)); 
  bt1=new Button("确定退出"); 
  bt2=new Button("再来一局"); 
  f1.setFont(new Font("宋体",64,64));
  f1.add(bt1); 
  f1.add(bt2); 
  f1.pack(); 
  f1.setBounds(200,250,600,150); 
  f1.setResizable(false); 
  f1.show(); 
  f1.setVisible(true); 
  bt1.addMouseListener(new MouseAdapter(){ 
  public void mouseClicked(MouseEvent e) 
    { System.exit(0); } 
    }); 
  bt2.addActionListener(this); 
 } 

  /* 产生随机数,来填充游戏界面对应的数组的各个位置 */
 public void suiji()  
 { 
  int m,n,k=0,k1,k2,k3; 
  for(m=1;m<=15;m++) 
  { 
   k1=(int)(Math.random()*25+1); 
   for(n=1;n<=2;n++) 
   { 
    k2=(int)(Math.random()*6+1); 
    k3=(int)(Math.random()*5+1); 
    while(d[k2][k3]!=0 && k!=30) 
     { 
      k2=(int)(Math.random()*6+1); 
      k3=(int)(Math.random()*5+1); 
     } 
    this.d[k2][k3]=k1; 
    k++; 
   } 
  } 
 } 

 /* 随机显示的鼓励信息  */
 public void guli()  
 { 
  int l=0; 
  t.setText(""); 
  l=(int)(Math.random()*10); 
  System.out.println(l); 
  switch(l) 
  { 
   case 1: 
     t.setText("好!加油!"); 
     break; 
   case 3: 
     t.setText("你真棒!"); 
     break; 
   case 5: 
     t.setText("加快速度!"); 
     break; 
   case 6: 
     t.setText("不错啊!"); 
     break; 
   case 8: 
     t.setText("加油吧!"); 
     break; 
   case 9: 
     t.setText("够聪明!"); 
     break; 
   default: 
     break; 
  } 
 } 

 /*  当无图形可消去时,需重新排列图形 */
 public void chonglie()  
 { 
  int save[],i,j,n=0,k2,k3,k; 
  int d[][]={ 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0}, 
      {0,0,0,0,0,0,0} 
    }; 
 save=new int[30]; 
 for(n=0;n<30;n++) 
   save[n]=0; //定义一个数组来保存当前的每个按钮位置上的信息 
 n=0; 
 for(i=0;i<=6;i++) 
   for(j=0;j<=5;j++) 
   { 
     if(this.d[i][j]!=0) 
       { 
        save[n]=this.d[i][j]; 
        n++; 
       } 
   } 
   n=n-1; 
   this.d=d; 
   while(n>=0) //产生随机位置,放置按钮 
   { 
    k2=(int)(Math.random()*6+1); 
    k3=(int)(Math.random()*5+1); 
    while(d[k2][k3]!=0) 
    { 
     k2=(int)(Math.random()*6+1); 
     k3=(int)(Math.random()*5+1); 
    } 
    this.d[k2][k3]=save[n]; 
    n--; 
   } 
   f.setVisible(false); 
   s="no"; //这里一定要将按钮点击信息归为初始 
   go();   //调用初始界面
   ling();   
 } 

 /* 将数组中为零的成员所对应的按钮消去  */
 public void ling() 
 { //用按钮类型的数组实现会简化得多, 
 if(d[1][1]==0) 
   b1.setVisible(false); 
 if(d[1][2]==0) 
   b2.setVisible(false); 
 if(d[1][3]==0) 
   b3.setVisible(false); 
 if(d[1][4]==0) 
   b4.setVisible(false); 
 if(d[1][5]==0) 
   b5.setVisible(false); 
 if(d[2][1]==0) 
   b6.setVisible(false); 
 if(d[2][2]==0) 
   b7.setVisible(false); 
 if(d[2][3]==0) 
   b8.setVisible(false); 
 if(d[2][4]==0) 
   b9.setVisible(false); 
 if(d[2][5]==0) 
   b10.setVisible(false); 
 if(d[3][1]==0) 
   b11.setVisible(false); 
 if(d[3][2]==0) 
   b12.setVisible(false); 
 if(d[3][3]==0) 
   b13.setVisible(false); 
 if(d[3][4]==0) 
   b14.setVisible(false); 
 if(d[3][5]==0) 
   b15.setVisible(false); 
 if(d[4][1]==0) 
   b16.setVisible(false); 
 if(d[4][2]==0) 
   b17.setVisible(false); 
 if(d[4][3]==0) 
   b18.setVisible(false); 
 if(d[4][4]==0) 
   b19.setVisible(false); 
 if(d[4][5]==0) 
   b20.setVisible(false); 
 if(d[5][1]==0) 
   b21.setVisible(false); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -