1. Java 3*3圖片推盤
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class Calculator extends JFrame implements
ActionListener{
JButton button[]=new JButton[10];
ImageIcon[] image = new ImageIcon[10];
JFrame jtfMainFrame = new JFrame("智慧推盤遊戲");
JPanel jplPanel = new JPanel();
public static void main(String[]args){
new Calculator();
JOptionPane.showMessageDialog(null,"歡迎來玩推盤遊戲!!!");
}
public Calculator(){
jtfMainFrame.setSize(965, 790);
String s;
int myrand;
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
int[] aresult;
int temp;
Random ran = new Random();
String[] names =new String[10];
for(int i=0; i<8; i++)
{
names[i]="1_"+(i+1)+".jpg";
}
names[8]="1_9.jpg";
image[9]=new ImageIcon("1_8.jpg");
jplPanel.setLayout(new GridLayout(3,3));
for(int k=0;k<=8;k++)
{
image[k]=new ImageIcon(names[k]);
}
for (int i = 0; i < 9; i++)
{
button[i]=new JButton();
myrand=ran.nextInt(9-i);
temp=a[8-i];
a[8-i]=a[myrand];
a[myrand]=temp;
button[i].setText(""+a[8-i]);
button[i].setIcon(image[a[8-i]]);
button[i].setActionCommand(""+a[8-i]);
button[i].addActionListener(this);
jplPanel.add(button[i]);
}
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
jtfMainFrame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
String late,slate="";
Icon nlate;
int ilate=0;
for(int i=0;i<9;i++)
{
if(button[i]==e.getSource())
{
//JOptionPane.showMessageDialog(null,button[i].getText()+" "+i);
ilate=i;
}
}
if(ilate>=3&&ilate<=8){
if("8".equals(button[ilate-3].getText()))
{
late=button[ilate].getText();
nlate=button[ilate].getIcon();
button[ilate].setText(button[ilate-3].getText());
button[ilate].setIcon(image[Integer.parseInt(button[ilate-3].getText())]);
button[ilate-3].setText(late);
button[ilate-3].setIcon(nlate);
}
}
if(ilate<=5&&ilate>=-3){
if("8".equals(button[ilate+3].getText()))
{
late=button[ilate].getText();
nlate=button[ilate].getIcon();
button[ilate].setText(button[ilate+3].getText());
button[ilate].setIcon(image[Integer.parseInt(button[ilate+3].getText())]);
button[ilate+3].setText(late);
button[ilate+3].setIcon(nlate);
}
}
if(ilate<8&&ilate>-1){
if("8".equals(button[ilate+1].getText()))
{if((ilate%3)!=2)
{
late=button[ilate].getText();
nlate=button[ilate].getIcon();
button[ilate].setText(button[ilate+1].getText());
button[ilate].setIcon(image[Integer.parseInt(button[ilate+1].getText())]);
button[ilate+1].setText(late);
button[ilate+1].setIcon(nlate);
}
}
}
if(ilate>=1&&ilate<=8){
if("8".equals(button[ilate-1].getText()))
{if((ilate%3)!=0)
{
late=button[ilate].getText();
nlate=button[ilate].getIcon();
button[ilate].setText(button[ilate-1].getText());
button[ilate].setIcon(image[Integer.parseInt(button[ilate-1].getText())]);
button[ilate-1].setText(late);
button[ilate-1].setIcon(nlate);
}
}
}
for(int m=0;m<9;m++){
slate+=button[m].getText();
if("012345678".equals(slate))
{
button[8].setIcon(image[9]);
JOptionPane.showMessageDialog(null,"恭喜你挑戰成功囉!!!!!");
}
}
System.out.println("'"+slate+"'");
}
}
遊戲開始
請先 登入 以發表留言。