SOURCE CODE
import java.util.Scanner;
class TicTacToe {
public static void main(String[] args) {
char[][] main = new char[3][3];
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
main[i][j]=' ';
}
}
for(int i=0; i<4; i++){
if(input(main, 'O')){
return;
}
if(input(main, 'X')){
return;
}
}
//1st user will get an additional chance
if(input(main, 'O')){
return;
}
System.out.println("The game is tie!");
}
//----------taking the input from 2 users
public static boolean input(char arr[][],char c){
Scanner input = new Scanner(System.in);
int row,column;
System.out.print("'"+c+"' choose your location(row,column): ");
row = input.nextInt();
column = input.nextInt();
while(arr[row][column]!=' '){
System.out.print("Location Unavailable. Choose another location(row,column).");
row = input.nextInt();
column = input.nextInt();
}
arr[row][column]=c;
if(display(arr)){
return true;
}
return false;
}
//------------method to display the 2D array after each input
public static boolean display(char arr[][]){
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
System.out.print(arr[i][j]);
}
System.out.println();
}
//checked for each input whether a player has gotten 3 in a row
if(check(arr)){
return true;
}
return false;
}
//-------------checking if a player has gotten 3 in a row
public static boolean check(char arr[][]) {
for(int i=0; i<3; i++){
if((arr[i][0]==arr[i][1] && arr[i][0]==arr[i][2]) && arr[i][0]!=' '){
System.out.println(arr[i][0]+" WINS!");
return true;
}
else if(arr[0][i]==arr[1][i] && arr[2][i]==arr[0][i] && arr[0][i]!=' '){
System.out.println(arr[0][i]+" WINS!");
return true;
}
else if(arr[0][0]==arr[1][1] && arr[0][0]==arr[2][2] && arr[i][i]!=' '){
System.out.println(arr[0][i]+" WINS!");
return true;
}
else if(arr[0][2]==arr[1][1] && arr[1][1]==arr[2][0] && arr[1][1]!=' '){
System.out.println(arr[0][i]+" WINS!");
return true;
}
}
return false;
}
}
Comments
Post a Comment