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

📄 pintu.java

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

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

 static JButton button1[] = new JButton[26];
 int img[]=new int[26];
 JLabel label1,label2;
 int i;
 static int width,height;
 int place=25; //存放空位的位置.
 
  
 public PinTu(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<26;i++)
       {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(100,20);
   label2.setLocation(100,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++;}
     }
   img[p]=p; button1[p].setIcon(new ImageIcon(img[p]+".jpg"));
   place=25;
  }  
  
  public void actionPerformed(ActionEvent e1)
  {if (e1.getSource()==kaishi) {Start(); return;}
   for (i=0 ;i<26;i++)
       { if (e1.getSource()==button1[i])
             { if (i!=place)
                  {if ((button1[place].getX()==button1[i].getX() || button1[place].getY()==button1[i].getY()) && (button1[place].getX()+width==button1[i].getX() || button1[place].getX()-width==button1[i].getX() || button1[place].getY()+height==button1[i].getY() || button1[place].getY()-height==button1[i].getY()))
                       {img[place]=img[i]; img[i]=25; 
                        button1[place].setIcon(new ImageIcon(img[place]+".jpg")); button1[i].setIcon(new ImageIcon(img[i]+".jpg"));
                        place=i; break;
                       }
                  }
             }
      } 
   win();    
  }
 
 void win()
  { for(i=0;i<26;i++)
    if (img[i]!=i) break;
    if (i==26) {label2.setText("哇,你太棒了!");}
    else {label2.setText("加油,努力哈!");}
  }
 

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

⌨️ 快捷键说明

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