import java.util.*; public class TicTacToeMethods { public String Markers (int n, int SquaresRemaining) { if ( SquaresRemaining%2 == 1 ) return "X"; else return "O"; } public static void PlayAgain (int n) { if ( n == 0 ) System.out.println ( "Thank you for playing Tic-Tac-Toe!" ); } public int ComputerLogic ( String Square[] ) { int y = 0; //initialize dummy variable //default move for ( int m = 1; m <= 9; m++ ) { if ( Square[m] == null ) y = m; } //vertical blocker for ( int i = 0; i <= 2; i++ ) { if ( Square[i*3+1] == "X" && Square[i*3+2] == "X" && Square [i*3+3] == null ) y = 3 + 3*i; if ( Square[i*3+1] == "X" && Square[i*3+3] == "X" && Square [i*3+2] == null ) y = 2 + 3*i; if ( Square[i*3+2] == "X" && Square[i*3+3] == "X" && Square [i*3+1] == null ) y = 1 + 3*i; } //horizontal blocker for ( int j = 0; j <= 2; j++ ) { if ( Square [1+j] == "X" && Square [4+j] == "X" && Square [7+j] == null ) y = 7 + j; if ( Square [1+j] == "X" && Square [7+j] == "X" && Square [4+j] == null ) y = 4 + j; if ( Square [4+j] == "X" && Square [7+j] == "X" && Square [1+j] == null ) y = 1 + j; } //diagonal blocker //first diagonal if ( Square [1] == "X" && Square [5] == "X" && Square [9] == null ) y = 9; if ( Square [1] == "X" && Square [9] == "X" && Square [5] == null ) y = 5; if ( Square [5] == "X" && Square [9] == "X" && Square [1] == null ) y = 1; //second diagonal if ( Square [3] == "X" && Square [5] == "X" && Square [7] == null ) y = 7; if ( Square [3] == "X" && Square [7] == "X" && Square [5] == null ) y = 5; if ( Square [5] == "X" && Square [7] == "X" && Square [3] == null ) y = 3; //victory //horizontal victory for ( int i = 0; i <= 2; i++ ) { if ( Square[i*3+1] == "O" && Square[i*3+2] == "O" && Square [i*3+3] == null ) y = 3 + 3*i; if ( Square[i*3+1] == "O" && Square[i*3+3] == "O" && Square [i*3+2] == null ) y = 2 + 3*i; if ( Square[i*3+2] == "O" && Square[i*3+3] == "O" && Square [i*3+1] == null ) y = 1 + 3*i; } //vertical victory for ( int j = 0; j <= 2; j++ ) { if ( Square [1+j] == "O" && Square [4+j] == "O" && Square [7+j] == null ) y = 7 + j; if ( Square [1+j] == "O" && Square [7+j] == "O" && Square [4+j] == null ) y = 4 + j; if ( Square [4+j] == "O" && Square [7+j] == "O" && Square [1+j] == null ) y = 1 + j; } //diagonal victory //first diagonal if ( Square [1] == "O" && Square [5] == "O" && Square [9] == null ) y = 9; if ( Square [1] == "O" && Square [9] == "O" && Square [5] == null ) y = 5; if ( Square [5] == "O" && Square [9] == "O" && Square [1] == null ) y = 1; //second diagonal if ( Square [3] == "O" && Square [5] == "O" && Square [7] == null ) y = 7; if ( Square [3] == "O" && Square [7] == "O" && Square [5] == null ) y = 5; if ( Square [5] == "O" && Square [7] == "O" && Square [3] == null ) y = 3; return y; } }