package day04;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class MySwing11_sem extends JFrame {
private JPanel contentPane;
private JTextField tf;
String com = "123";
JTextArea ta;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MySwing11_sem frame = new MySwing11_sem();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MySwing11_sem() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 273, 420);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lbl = new JLabel("야구게임");
lbl.setBounds(27, 32, 57, 15);
contentPane.add(lbl);
tf = new JTextField();
tf.setBounds(147, 29, 57, 21);
contentPane.add(tf);
tf.setColumns(10);
JButton btn = new JButton("맞춰보세요");
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
myclick();
}
});
btn.setBounds(27, 57, 177, 23);
contentPane.add(btn);
ta = new JTextArea();
ta.setBounds(27, 87, 177, 284);
contentPane.add(ta);
randCom();
}
void randCom() {
String[] arr = {"1","2","3","4","5","6","7","8","9"};
for(int i=0; i<1000;i++) {
int rnd = (int)(Math.random()*9);
String a = arr[0];
arr[0] = arr[rnd];
arr[rnd] = a;
}
com = arr[0]+arr[1]+arr[2];
System.out.println("com: " + com);
}
void myclick() {
String mine = tf.getText();
int s = getS(mine,com);
int b = getB(mine,com);
String str_old = ta.getText();
String line = mine + "\t" + s + "S" + b + "B" + "\n";
ta.setText(str_old + line);
tf.setText("");
if(s == 3) {
JOptionPane.showMessageDialog(null, mine+" 정답입니다.");
}
}
int getS(String mine,String com) {
int ret = 0;
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
if(c1.equals(m1)) {ret++;}
if(c2.equals(m2)) {ret++;}
if(c3.equals(m3)) {ret++;}
return ret;
}
int getB(String mine,String com) {
int ret = 0;
String m1 = mine.substring(0,1);
String m2 = mine.substring(1,2);
String m3 = mine.substring(2,3);
String c1 = com.substring(0,1);
String c2 = com.substring(1,2);
String c3 = com.substring(2,3);
if(c1.equals(m2)||c1.equals(m3)) {ret++;}
if(c2.equals(m1)||c2.equals(m3)) {ret++;}
if(c3.equals(m1)||c3.equals(m2)) {ret++;}
return ret;
}
}