close

import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test extends JFrame{
public static void main(String[]args){

ImageIcon img[] = new ImageIcon[17];
for(int i=1;i<=16;i++){
img[i]=new ImageIcon("C:\\Program Files (x86)\\Java\\output\\"+i+".jpg");
}

Random random = new Random();
JPanel kkkkkk = new JPanel();
int number = 0;
int array[] = new int[16];
boolean b;

for(int i=0;i<16;i++)
{
b = true;
while(b) {
b = false;
number = random.nextInt(16)+1;
for(int j=0;j<array.length;j++) {
if(array[j]==number) {
b = true;
}
}
}
array[i] = number;
System.out.printf("array[%d]=%d\n",i,number);
}

 


JFrame window=new JFrame("n-puzzle");
window.setSize(300, 100);
JButton button[]=new JButton[16];
JPanel jplPanel = new JPanel();
jplPanel.setLayout(new GridLayout(4,4,8,8));

for (int i = 0; i < 16; i++){
button[i] = new JButton();
button[i].setSize(10,10);
button[i].setIcon(img[array[i]]);
if(array[i]==16)
{
button[i].setText("");
System.out.println(i);
}
button[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
if(array[0]==1&&array[3]==4&&array[4]==5&&array[6]==7&&array[7]==8&&array[9]==10&&array[12]==13&&array[13]==14&&array[14]==15&&array[15]==16)
{JOptionPane.showMessageDialog(null,"Done!");
}
//JOptionPane.showMessageDialog(null,"ggggggggggggg");

int a=0,c=0;
for (int i = 0; i < 16; i++)
{
if(array[i]==16)
{
a=i;
}
}

if(a>3&&a<16)
{
if(e.getSource() == button[a-4])
{

//按下按鈕後事件
button[a-4].setIcon(img[array[a]]);
button[a].setIcon(img[array[a-4]]);
c=array[a];
array[a]=array[a-4];
array[a-4]=c;
if(array[0]==1&&array[3]==4&&array[4]==5&&array[7]==8&&array[12]==13&&array[6]==7&&array[15]==16&&array[13]==14&&array[14]==15&&array[9]==10){JOptionPane.showMessageDialog(null,"dddddddddd");
}
//JOptionPane.showMessageDialog(null,"ggggggggggggggg~~~");
}
}

if(a<12&&a>-4)
{
if(e.getSource() == button[a+4])
{ //按下按鈕後事件
button[a+4].setIcon(img[array[a]]);
button[a].setIcon(img[array[a+4]]);
c=array[a];
array[a]=array[a+4];
array[a+4]=c;
if(array[0]==1&&array[3]==4&&array[4]==5&&array[7]==8&&array[12]==13&&array[6]==7&&array[15]==16&&array[13]==14&&array[14]==15&&array[9]==10){JOptionPane.showMessageDialog(null,"dddddddddd");
}
//JOptionPane.showMessageDialog(null,"gggggggggggggg~~~");
}
}
if(a>-1&&a<15)
{
if(e.getSource() == button[a+1])
{
//按下按鈕後事件
button[a+1].setIcon(img[array[a]]);
button[a].setIcon(img[array[a+1]]);
c=array[a];
array[a]=array[a+1];
array[a+1]=c;
if(array[0]==1&&array[3]==4&&array[4]==5&&array[7]==8&&array[12]==13&&array[6]==7&&array[15]==16&&array[13]==14&&array[14]==15&&array[9]==10){JOptionPane.showMessageDialog(null,"dddddddddd");
}
//JOptionPane.showMessageDialog(null,"ggggggggggggggg~~~");
}
}
if(a<16&&a>0)
{
if(e.getSource() == button[a-1])
{
//按下按鈕後事件
button[a-1].setIcon(img[array[a]]);
button[a].setIcon(img[array[a-1]]);
c=array[a];
array[a]=array[a-1];
array[a-1]=c;
if(array[0]==1&&array[3]==4&&array[4]==5&&array[7]==8&&array[12]==13&&array[6]==7&&array[15]==16&&array[13]==14&&array[14]==15&&array[9]==10){JOptionPane.showMessageDialog(null,"dddddddddd");
}
//JOptionPane.showMessageDialog(null,"ggggggggggggggggggg~~~");
}
}

 


}
}
);
jplPanel.add(button[i]);
}
window.getContentPane().add(jplPanel, BorderLayout.CENTER);
window.setSize(600,600);
window.setVisible(true);
}

}

未命名  

未命名1  

arrow
arrow
    全站熱搜

    hungtim20 發表在 痞客邦 留言(0) 人氣()