사진을 넣고 사진을 4x4 등분을 해서 랜덤으로 섞는것까지는 어떻게 만들었습니다.
이제 나뉜 사진 2개를 차례대로 클릭하면 서로 위치가 바뀌는 식으로 퍼즐게임을 만드려고합니다.
그런데 진짜 초보라서 어떻게 해야할지를 모르겠네요... 조언좀 부탁드립니다..
------------------
package kr.ac.kookje;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Ex01 extends JPanel implements ActionListener{
Image image;
int width, height;
int picture[];
public Ex01() {
MediaTracker tracker = new MediaTracker(this);
image = Toolkit.getDefaultToolkit().getImage("picture.jpg");
tracker.addImage(image, 0);
try {
tracker.waitForAll();
} catch (InterruptedException e) {;}
width = image.getWidth(this)/4;
height = image.getHeight(this)/4;
picture = new int[16];
shuffle();
}
public void paint(Graphics g) {
g.clearRect(0, 0, 700, 1000);
for(int i=0;i<picture.length;i++) {
int w = picture[i]%4;
int h = picture[i]/4;
g.drawImage(image, (i%4)*width, (i/4)*height, (i%4)*width+width, (i/4)*height+height, w*width, h*height, (w+1)*width, (h+1)*height, this);
}
}
public static void main(String[] args) {
Ex01 panel = new Ex01();
JFrame f = new JFrame();
Container pane = f.getContentPane();
pane.setLayout(new GridLayout());
pane.add(panel);
f.setSize(290,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
private void shuffle() {
Random rnd = new Random();
for(int i=0;i<picture.length;i++) {
int temp = 0;
do{
temp = rnd.nextInt(picture.length);
}while(picture[temp]!=0);
picture[temp] = i;
}
}
public void actionPerformed(ActionEvent e) {
}
}