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

📄 pintuha.java

📁 这是一个拼图游戏的JAVA源代码,请大家详细了解,一定有所获得
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class PinTuha extends JFrame implements ActionListener
{JMenuBar menubar=new JMenuBar();
 JMenu menu1=new JMenu("文件(F)");
 JMenuItem kaishi = new JMenuItem("开始",'K');

 static JButton button1[] = new JButton[28];
 int img[]=new int[28];
 JLabel label1,label2;
 int i;
 static int width,height;
 int place[]={25,26,27}; //存放空位的位置.
 
  
 public PinTuha(int width,int height)
 { super("轻松拼图");
   super.setJMenuBar(menubar);
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   menu1.add(kaishi);
   menu1.setMnemonic('F');
   menubar.add(menu1);
   kaishi.addActionListener(this); 
   Container c = getContentPane();
   c.setLayout(null);
  
   for(i=0;i<28;i++)
       {if (i>=25) img[i]=25; else img[i]=i;
        button1[i]=new JButton(new ImageIcon(img[i]+".jpg"));
        button1[i].setSize(width,height);
        button1[i].setLocation(0+i%5*width,0+i/5*height);
        button1[i].setVisible(true);
        button1[i].addActionListener(this);
        c.add(button1[i]);
       }
   
   label1=new JLabel(new ImageIcon("pig.jpg"));
   label1.setSize(250,200);
   label1.setLocation(300,0);
   label1.setVisible(true);
   c.add(label1);
   label2=new JLabel("加油,努力哈!");
   label2.setSize(50,100);
   label2.setLocation(180,215);
   label2.setVisible(true);
   c.add(label2);
   setSize(555,295);
   setVisible(true);
   
   
 }
  
 void Start()
 {int p=0,i=0,tmp;
  while(p!=25)
    {tmp=(int)(Math.random()*25);
       for(i=0;i<p;i++)
          {int tmpB=img[i];
           if (tmpB==tmp) break;
          }
       if (i==p) {img[i]=tmp; button1[i].setIcon(new ImageIcon(img[i]+".jpg")); p++;}
     }
  for(int j=0;j<place.length;j++)
     {place[j]=25+j;
      img[place[j]]=25; button1[place[j]].setIcon(new ImageIcon(img[place[j]]+".jpg"));
     }
 }  
  
  public void actionPerformed(ActionEvent e1)
  {if (e1.getSource()==kaishi) {Start(); return;}
out:for (i=0 ;i<28;i++)
       { if (e1.getSource()==button1[i])
             { if (img[i]!=25)
                  {for(int j=0;j<place.length;j++)
                      {if ((button1[place[j]].getX()==button1[i].getX() || button1[place[j]].getY()==button1[i].getY()) && (button1[place[j]].getX()+width==button1[i].getX() || button1[place[j]].getX()-width==button1[i].getX() || button1[place[j]].getY()+height==button1[i].getY() || button1[place[j]].getY()-height==button1[i].getY()))
                          {img[place[j]]=img[i]; img[i]=25; 
                           button1[place[j]].setIcon(new ImageIcon(img[place[j]]+".jpg")); button1[i].setIcon(new ImageIcon(img[i]+".jpg"));
                           place[j]=i; break out;
                          }
                      }
                  }
             }
      } 
   win();    
  }
 
 void win()
  { for(i=0;i<25;i++)
    if (img[i]!=i) break;
    if (i==25) {label2.setText("哇,你太棒了!");}
    else {label2.setText("加油,\n努力哈!");}
  }
 

 public static void main(String[] args)
 {PinTuha f = new PinTuha(50,40);
  width=button1[0].getWidth();height=button1[0].getHeight();
 }
}

⌨️ 快捷键说明

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