Page 776 - 2
P. 776

다 동작 설명.
                1) Eclipse 에서 퍼즐을 실행시킨다.
                2)  나온 퍼즐에 그림을 기억해둔다.
                3)  그림 섞기 버튼을 누른다.
                4)  섞인 그림들을 차근차근 맞춰 나간다.
                5)  완성하면 끝!
                6)  다시 할 때는 원하는 사진으로 바꿔준다.


            5.  자바 소스
            import java.awt.Dimension;
            import java.awt.Graphics;
            import java.awt.GridLayout;
            import java.awt.event.ActionEvent;
            import java.awt.event.ActionListener;
            import java.awt.event.MouseEvent;
            import java.awt.event.MouseListener;
            import java.awt.event.MouseMotionListener;
            import java.awt.image.BufferedImage;
            import java.io.File;
            import java.io.IOException;
            import java.util.Random;
            import javax.imageio.ImageIO;
            import javax.swing.JButton;
            import javax.swing.JFrame;
            import javax.swing.JPanel;

            public class ImagelIODraw implements ActionListener, MouseListener,
            MouseMotionListener
            {
                 private JFrame frm;
                 private JButton divideImageBtn;
                 private BufferedImage img;
                 private JPanel panel;
                 private JButton[] btns;
                 private int pieces = 4; //     숫자를 바꿔서 퍼즐 칸 수 조절
                 private int totalPieces = pieces*pieces;
                 private int[] pieceNumber;
                 private int pressedBtn = totalPieces-1;
                 private boolean dragedState = false;

                 public ImagelIODraw()
                 {
                     frm = new JFrame();
                     File file = new File("cat.jpg"); //   다운받은 사진 이름 cat.jpg            로 변경 후에 자바
                                                            파일에 넣기
                     try //   이미지파일 불러오기
                     {
                          img = ImageIO.read(file);
                     }
                     catch (IOException e)
                     {
                          e.printStackTrace();
                     }
                     // 그림 배열정보 저장
                     pieceNumber = new int[totalPieces];
                     for(int i = 0 ; i< totalPieces; i++)
                     {


                                                         - 776 -
   771   772   773   774   775   776   777   778   779   780   781