import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class Main extends JFrame{
JButton[] btn;
int cnt=0;
int[] n;
private static boolean exists(int n[], int index) {
for (int i = 0; i < n.length; i++) {
if(n[i] == index)
return true;
}
return false;
}
public Main() {
Container c=getContentPane();
c.setLayout(new GridLayout(4,4));
btn= new JButton[17]; //btn
btn[0]=new JButton("");
n = new int[16]; // n[i] = (i+1)번 버튼에 들어있는 이미지 번호
int index = 0;
for(int i=1;i<=16;i++) {
//btn[i]=new JButton(new ImageIcon("memory"+Integer.toString(i)+".png"));
//btn[i]=new JButton(new ImageIcon("memoryback.png"));
btn[i] = new JButton(Integer.toString(i));
btn[i].addActionListener(new MyActionListener());
c.add(btn[i]);
}
for(int i = 0; i<n.length;i++) {
do {
index = (int)(Math.random()*17);
}while(exists(n,index));
n[i] = index;
//System.out.println(i + " : " + index);
}
for(int i = 0; i<n.length;i++) {
n[i] = (n[i]-1)/2;
System.out.println("n["+i+"]" + " : " + n[i]);
btn[i+1].setIcon(new ImageIcon("memory10.png"));
// image 0 ~ 7 -> 총 8개의 이미지
}
setSize(500, 500);
setVisible(true);
}
//jbutton에 있는 모든 사진들 ?로 바꾸기(v)->버튼 클릭시 클릭한 버튼 위치 찾아서 그 위치의 버튼에 있던 원래? 사진을 보여주기 두번 누르면 다시 ? 사진으로 가리기
//(x)->만약에 맞추면 맞춘 두 사진을 ?말고 다른 사진으로 바꾸기, 만약 모든 사진을 맞추었다면 새로운 창 한개 만들어서 축하합니다 내보내기(x)
class MyActionListener implements ActionListener{
int x, y;
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JButton b = (JButton)e.getSource();
int img_num=1;
int i;
cnt++;
// for(int iam = 0; iam<n.length;iam++) {
// b.setIcon(new ImageIcon("meomry"+n[iam]+".png"));
// }
for(i=1;i<=16;i++) {
if(b.equals(btn[i])) {
img_num=n[i-1];
break;
}
/*
* if(cnt%2==0) { btn[i].setIcon(new ImageIcon("memory"+i+".png")); }
*/
}
System.out.println((i)+"번 버튼-> "+img_num+"번 이미지");
btn[i].setIcon(new ImageIcon("memory"+img_num+".png"));
//btn[i].setIcon(new ImageIcon("2045.png"));
/*
* cnt++; int img_num = 1; for(int i=1;i<=16;i++) { if(b.equals(btn[i])) {
* System.out.println(i); img_num=i; break; } } if(cnt%2==1) x = img_num; else y
* = img_num;
*
* b.setIcon(new ImageIcon("memory"+img_num+".png")); if(cnt%2==0 && x/2==y/2) {
* System.out.println("correct!"); }
*/
}
}
public static void main(String[] args) {
new Main();
}
}
//n[0] ~ n[15]
NIGGER
니거