/*
문양 : 1~ 8의 랜덤 숫자
카드 : 라벨
1. 처음 블루팀이 먼저 시작한다.
2.(카드는 총 16장이있다) 카드두개를 뒤집어 (마우스로 클릭 하면 그림이나온다)
똑같은 문양이 나오면 1점을 얻고 실패하면 다른 팀턴으로 넘어간다.
(틀렸을경우 다시카드가 뒤집힌다.)
(단 맞췄을경우 맞춘 팀이 다시한다.)
(맞춘카드는 사라진다.)
3.어느 한 팀이 5점을 얻었으경우 블루,레드 팀 승리 라고 뜨고 다시 시작이뜬다.
4.다시 시작을 눌렀을 경우 다시 반복한다.
*/
/*
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Main extends JFrame{
int size=55;
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JLabel red = new JLabel("RED : ");
JLabel red_score = new JLabel("0");
JLabel blue = new JLabel("BLUE : ");
JLabel blue_score = new JLabel("0");
public Main () {
Container c = getContentPane();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.setLayout(new BorderLayout());
/////////p1
c.add(p1,BorderLayout.NORTH);
make_score_panel();
////////p2
c.add(p2,BorderLayout.CENTER);
make_game_panel();
setSize(300,300);
setVisible(true);
}
void make_score_panel() {
p1.setBackground(Color.orange);
p1.add(red);
p1.add(red_score);
red.setForeground(Color.red);
red_score.setForeground(Color.red);
p1.add(blue);
p1.add(blue_score);
blue.setForeground(Color.blue);
blue_score.setForeground(Color.blue);
}
void make_game_panel() {
p2.setBackground(Color.green);
p2.setLayout(null);
int map[][] = new int[4][4];
for(int i=1;i<=8;i++) {
for(int j=1;j<=2;j++) {
JButton button = new JButton(Integer.toString(i));
button.setFont(new Font("Arial",Font.PLAIN,20));
button.setSize(size, size);
button.addActionListener(new MyActionListener());
int flag=0;
while(flag==0) {
int x = (int)(Math.random()*4);
int y = (int)(Math.random()*4);
if(map[x][y]!=0) flag=0;
else {
map[x][y]=i;
button.setLocation(30+x*size,10+y*size);
flag=1;
}
}
p2.add(button);
button.setBackground(Color.white);
button.setForeground(Color.white);
}
}
}
class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
JButton b = (JButton)e.getSource();
b.setForeground(Color.black);//보이기
try {
Thread.sleep(3000); //3초기다리기
} catch (InterruptedException e1) {
e1.printStackTrace();
}
b.setForeground(Color.white); //안보이기
//b.setVisible(false);
}
}
public static void main(String[] args) {
new Main();
}
}
스레드 : 하나의 일의 흐름
예제 13-1
*
*/
import java.awt.*;
import javax.swing.*;
class Main{
public Main() {
//GUI 원래처럼 작성
//쓰레드 생성
TimerThread th = new TimerThread();
//쓰레드 시작
th.start();
}
class TimerThread extends Thread {
private JLabel timerLabel;
public TimerThread() { //생성자
}
public void run() {
}
}
public static void main(String[] args) {
new Main();
}
}



