No older revisions available
No older revisions available
~cpp
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter.*;
import java.awt.event.MouseEvent.*;
import javax.swing.*;
public class FirstJava extends JFrame{
int x,y;
int counter=0;
int array[][] = new int [3][3];
public FirstJava()
{
for(int j=0;j<3; j++)
{
for(int i=0; i<3;i++)
array[i][j] = -1;
}
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
x = e.getX();
y = e.getY();
System.out.println("x 좌표 : " + x);
System.out.println("y 좌표 : " + y);
repaint();
}
});
}
public static void main(String args[]) {
FirstJava helloWorld = new FirstJava();
helloWorld.setBounds(100,100,600,600);
helloWorld.show();
}
public void paint(final Graphics g)
{
g.drawLine(100,0,100,300);
g.drawLine(200,0,200,300);
g.drawLine(0,100,300,100);
g.drawLine(0,200,300,200);
if (0<x&&x<100 && 0<y&&y<100)
{
if(counter%2 == 0)
g.drawOval(25,25,50,50);
else//(counter%2 == 1)
g.drawLine(25,25,75,75);
array[0][0] = counter%2;
counter ++;
}
else if (100<x&&x<200 && 0<y&&y<100)
{
if(counter%2 == 0)
g.drawOval(125,25,50,50);
else//(counter%2 == 1)
g.drawLine(125,25,175,75);
array[0][1] = counter%2;
counter ++;
}
else if (200<x&&x<300 && 0<y&&y<100)
{
if(counter%2 == 0)
g.drawOval(225,25,50,50);
else//(counter%2 == 1)
g.drawLine(225,25,275,75);
array[0][2] = counter%2;
counter ++;
}
else if (0<x&&x<100 && 100<y&&y<200)
{
if(counter%2 == 0)
g.drawOval(25,125,50,50);
else//(counter%2 == 1)
g.drawLine(25,125,75,175);
array[1][0] = counter%2;
counter ++;
}
else if (100<x&&x<200 && 100<y&&y<200)
{
if(counter%2 == 0)
g.drawOval(125,125,50,50);
else//(counter%2 == 1)
g.drawLine(125,125,175,175);
array[1][1] = counter%2;
counter ++;
}
else if (200<x&&x<300 && 100<y&&y<200)
{
if(counter%2 == 0)
g.drawOval(225,125,50,50);
else//(counter%2 == 1)
g.drawLine(225,125,275,175);
array[1][2] = counter%2;
counter ++;
}
else if (0<x&&x<100 && 200<y&&y<300)
{
if(counter%2 == 0)
g.drawOval(25,225,50,50);
else//(counter%2 == 1)
g.drawLine(25,225,75,275);
array[2][0] = counter%2;
counter ++;
}
else if (100<x&&x<200 && 200<y&&y<300)
{
if(counter%2 == 0)
g.drawOval(125,225,50,50);
else//(counter%2 == 1)
g.drawLine(125,225,175,275);
array[2][1] = counter%2;
counter ++;
}
else if(200<x&&x<300 && 200<y&&y<300)
{
if(counter%2 == 0)
g.drawOval(225,225,50,50);
else//(counter%2 == 1)
g.drawLine(225,225,275,275);
array[2][2] = counter%2;
counter ++;
}
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
System.out.print(array[i][j]);
System.out.println();
}
//승리조건검사
boolean flag = true;
if(flag ==true)
{
for(int i=0; i<3; i++)
{
if(array[i][0] == array[i][1] && array[i][1] == array[i][2] && array[i][0] != -1)
{
JOptionPane.showMessageDialog(null, Integer.toString(array[i][0])+"가 이겼습니다.!!");
flag = false;
break;
}
}
for(int i=0; i<3; i++)
{
if(array[0][i] == array[1][i] && array[1][i] == array[2][i] && array[0][i] != -1)
{
JOptionPane.showMessageDialog(null, Integer.toString(array[0][i])+"가 이겼습니다.!!");
flag = false;
break;
}
}
}
if(flag == true)
{
if(array[0][0] == array[1][1] && array[1][1] == array[2][2] && array[0][0] != -1)
JOptionPane.showMessageDialog(null, Integer.toString(array[0][0])+"가 이겼습니다.!!");
if(array[0][2] == array[1][1] && array[1][1] == array[2][0] && array[0][2] != -1)
JOptionPane.showMessageDialog(null, Integer.toString(array[0][2])+"가 이겼습니다.!!");
else if(counter == 9)
JOptionPane.showMessageDialog(null, "0과 1은 비겼습니다.");
flag = false;
}
}
}