@author Luis Contreras *************the Board Class********************* import java.util.Scanner; public class Board { private String [][] board; private int row=3; private int col=3; public Board () { board = new String [row][col]; //for(int i=0; i < row; i++) // for(int j=0; j < col; j++) board[0][0]="1"; board[0][1]="2"; board[0][2]="3"; board[1][0]="4"; board[1][1]="5"; board[1][2]="6"; board[2][0]="7"; board[2][1]="8"; board[2][2]="9"; } /** * Returns a display of the current board. */ public void displayBoard() { for (int row=0; row < board.length; row++) { for (int col=0; col < board.length; col++) { System.out.print(board[row][col]); } System.out.println(); } } /** * Sets the move at the move position for a player. * * @param move The board position to play. * @param move The player to which the move is assigned. */ public void setMove(int move, String player) { while(move > 0 && move < 10) { if(board[row][col].equals(move)) while (isOpenMove (move)); board[row][col] = player ; } } /** * Tests to see if a board position is open for play. * * @return true if the position is open, otherwise false. */ public boolean isOpenMove(int move) { if ( board [row][col] !="X" && board [row][col] !="O") { // if(board[row][col] != "")? return true; } else { return false; } } /** * Checks to see if the game has a winner. * * @return true if this board has a winner, otherwise false. */ public boolean isWinner() { for (int row=0; row<3;row++) for (int col=0; col<3;col++) //When player is x //Win position for every row if(board[0][0]=="X" && board[0][1]=="O" && board[0][2]=="O") return true; if(board[1][0]=="X" && board[1][1]=="O" && board[1][2]=="O") return true; if(board[2][0]=="X" && board[2][1]=="O" && board[2][2]=="O") return true; //Win position for every column if(board[0][0]=="X" && board[1][0]=="O" && board[2][0]=="O") return true; if(board[0][1]=="X" && board[1][1]=="O" && board[2][1]=="O") return true; if(board[0][2]=="X" && board[1][2]=="O" && board[2][2]=="O") return true; //Win position for diagnals if(board[0][1]=="X" && board[1][1]=="O" && board[2][2]=="O") return true; if(board[0][2]=="X" && board[1][1]=="O" && board[2][0]=="O") return true; //When player is o //Win position for every row if(board[0][0]=="O" && board[0][1]=="O" && board[0][2]=="O") return true; if(board[1][0]=="O" && board[1][1]=="O" && board[1][2]=="O") return true; if(board[2][0]=="O" && board[2][1]=="O" && board[2][2]=="O") return true; //Win position for every column if(board[0][0]=="O" && board[1][0]=="O" && board[2][0]=="O") return true; if(board[0][1]=="O" && board[1][1]=="O" && board[2][1]=="O") return true; if(board[0][2]=="O" && board[1][2]=="O" && board[2][2]=="O") return true; //Win position for diagnals if(board[0][1]=="O" && board[1][1]=="O" && board[2][2]=="O") return true; if(board[0][2]=="O" && board[1][1]=="O" && board[2][0]=="O") return true; else return false; } } ************************************************************************************************** The Player Class ************************************************************************************************** import java.util.Scanner; public class Player { private String name; private Board board; private Board setMove; /** * Initialize Player to specified values. * * @param newBoard The Board to play upon. * @param newName The name of the player ('X' or 'O'). */ public Player(Board newBoard, String newName) { board = newBoard; name= newName; } /** * Prompts for a move and makes the move if valid. * Otherwise, posts an error message and asks the user * to enter a correct move. */ public void makeMove() { Scanner input = new Scanner(System.in); boolean moveOpen = false; int move; if (!moveOpen) { move = input.nextInt(); moveOpen = isOpenMove(move); }else{ System.out.println("Re enter your Input from 1-9"); } } } *********************************************************************************************** The GameApp Class ********************************************************************************************** public class GameApp { public static void main(String[] args) { Board board = new Board(); // calls constructor in Board Player playerX = new Player(board, "X"); Player playerO = new Player(board, "O"); boolean gameOver = false; System.out.println("Enter your move using " + "the number of the square."); System.out.println("Press Ctrl-C keys together at any time to exit."); int whoMove = 0; // while (gameOver == false) { board.displayBoard(); if(whoMove ==0) { playerX.makeMove(); gameOver = board.isWinner(); whoMove++; } else { playerO.makeMove(); gameOver = board.isWinner(); whoMove--; } }// end while }// end main //}//end cl