제가 객체지향 잘 못해서 좆 븅신같은 가독성인데
저 메인 아래 있는 코드들 다 메쏘드 처리해버리면 객체지향인가요?
import java.util.Scanner;
public class TICTACKTOC
{
static int input = 0; //총몇번입력?
static String board[][] = {{"1","2","3"},{"4","5","6"},{"7","8","9"}};
public static void winner()
{
if((board[0][0]=="x" && board[0][1]=="x" && board[0][2]=="x") ||
(board[1][0]=="x" && board[1][1]=="x" && board[1][2]=="x") ||
(board[2][0]=="x" && board[2][1]=="x" && board[2][2]=="x") ||
(board[0][0]=="x" && board[1][0]=="x" && board[2][0]=="x") ||
(board[0][1]=="x" && board[1][1]=="x" && board[2][1]=="x") ||
(board[0][2]=="x" && board[1][2]=="x" && board[2][2]=="x") ||
(board[0][0]=="x" && board[1][1]=="x" && board[2][2]=="x") ||
(board[0][2]=="x" && board[1][1]=="x" && board[2][0]=="x"))
{
System.out.println("player1 win!");
input = 101;
}
else if((board[0][0]=="o" && board[0][1]=="o" && board[0][2]=="o") ||
(board[1][0]=="o" && board[1][1]=="o" && board[1][2]=="o") ||
(board[2][0]=="o" && board[2][1]=="o" && board[2][2]=="o") ||
(board[0][0]=="o" && board[1][0]=="o" && board[2][0]=="o") ||
(board[0][1]=="o" && board[1][1]=="o" && board[2][1]=="o") ||
(board[0][2]=="o" && board[1][2]=="o" && board[2][2]=="o") ||
(board[0][0]=="o" && board[1][1]=="o" && board[2][2]=="o") ||
(board[0][2]=="o" && board[1][1]=="o" && board[2][0]=="o"))
{
System.out.println("player2 win!");
input = 10;
}
}
public static void main(String[] args)
{
int swch = 1; //스위치!스위치!
String marker;
while(input<9)
{
for(int i=0;i<board.length;i++) //보드출력
{
for(int j=0;j<board[0].length;j++)
{
System.out.print(board[i][j]+"\t");
}
System.out.println();
}
if(swch==1) //입력요구
System.out.print("player1 select number : ");
else
System.out.print("player2 select number : ");
Scanner xx = new Scanner(System.in);
String Pnum = "0";
while(true) //중복검사용
{
Pnum = xx.nextLine(); //입력받아서
int a=Integer.parseInt(Pnum)/3;
int b=Integer.parseInt(Pnum)%3;
if(a==3)
a=2;
if(b==0)
b=3;
if(board[a][b-1]=="o"|| board[a][b-1]=="x") //중복검사함
System.out.println("다시입력");
else
break;
}
if(swch==1)
marker = "x";
else
marker = "o"; //마커 player1은x 2는o
for(int i=0;i<board.length;i++)
{
for(int j=0;j<board[0].length;j++)
{
if(board[i][j].equals(Pnum))
{
board[i][j]=marker;
}
}
} //마커대입하고 출력
Pnum = "0";
input++;
swch*=-1; //스위치!스위치!
winner(); //승자검증씨쓰템
}
if(input==9)
{
for(int i=0;i<board.length;i++)
{
for(int j=0;j<board[0].length;j++)
{
System.out.print(board[i][j]+"\t");
}
System.out.println();
}
System.out.println("무슴부"); //아홉번까지 가면 무슴부
}
}
}
아니 구래서 다 메소드 처리해도 되는거?