Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

TicTacToe Define a class called TicTacToe. An object of type TicTacToe is a sing

ID: 3655012 • Letter: T

Question

TicTacToe

Define a class called TicTacToe. An object of type TicTacToe is a single game of tic-tac-toe. Store the game board as a single two-dimensional array of base type char that has three rows and three columns. Include methods to add a move, to display the board, to tell whose turn it is (X or O), to tell whether there is a winner, to say who the winner is, and to reinitialize the game to the beginning. Write a main method for the class that will allow two players to enter their moves in turn at the same keyboard.

Explanation / Answer

/*////////////////////////////////////////////////////////////////////////////*///////////////////////////////////////////////////////////////////////////////////import java.util.*;public class TicTacToe{private boolean player1Turn = true;private int rows;private char columns;private char [][] board = new char [3][3];private int player1WinCount, player2WinCount, catCount;Scanner in = new Scanner(System.in);/************************************************************* * * Name: TicTacToe default constructor * Description: sets ein counts to 0 and calls initateBoard * * Inputs: none * Returned value: Board * Preconditions: none * *************************************************************/public TicTacToe(){ player1WinCount = 0; player2WinCount = 0; catCount = 0; initiateBoard();}/************************************************************* * * Name: whoseTurn method * Description: displays whose turn it is * * Inputs: none * Returned value: returns player1Turn * Preconditions: none * *************************************************************/public boolean whoseTurn(){ if(player1Turn) { System.out.println("First Players turn X"); } else { System.out.println("Second Players turn O"); } return player1Turn;}/************************************************************* * * Name: changePlayer method * Description: chnages players turn * * Inputs: none * Returned value: * Preconditions: none * *************************************************************/public void changePlayer(){ if(player1Turn) { player1Turn = false; } else { player1Turn = true; }}/************************************************************* * * Name: getMove method * Description: takes in row and column entry and places x or o in that space * according to player. also checks for occupied spaces * * Inputs: int row, char column * Returned value: x or o or "space already taken" * Preconditions: * *************************************************************/public void getMove(){ whoseTurn(); System.out.println("Please enter row number"); rows = in.nextInt(); System.out.println("Please enter column letter"); columns = in.next().charAt(0); if(rows < 1 || rows > 3 || (columns != 'A' && columns != 'a' && columns != 'B' && columns != 'b' && columns != 'C' && columns != 'c')) { System.out.println("Invalid Entry"); getMove(); } else { if(columns == 'a' || columns == 'A') { if(board[rows -1][0] == ' ') { if(player1Turn) { board[rows -1][0] = 'X'; } else { board[rows -1][0] = 'O'; } } else { System.out.println("Space already occupied"); getMove(); } } if(columns == 'b' || columns == 'B') { if(board[rows -1][1] == ' ') { if(player1Turn) { board[rows -1][1] = 'X'; } else { board[rows -1][1] = 'O'; } } else { System.out.println("Space already occupied"); getMove(); } } if(columns == 'c' || columns == 'C') { if(board[rows -1][2] == ' ') { if(player1Turn) { board[rows -1][2] = 'X'; } else { board[rows -1][2] = 'O'; } } else { System.out.println("Space already occupied"); getMove(); } } } drawBoard(); checkWinner(); changePlayer(); getMove();}/************************************************************* * * Name: checkWinner method * Description: checks for any 3 in row combination for a winner * also checks if all 9 spaces are full with no winner for a tie * * Inputs: none * Returned value: winner player 1, winner player 2, cats game, or nothing * Preconditions: none * *************************************************************/public boolean checkWinner(){ char checkChar; boolean draw = true; if(board[0][0] != ' ') { checkChar = board[0][0]; if(checkChar == board[0][1] && checkChar == board[0][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } else if(checkChar == board[1][1] && checkChar == board[2][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } else if(checkChar == board[1][0] && checkChar == board[2][0]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } } else if(board[1][0] != ' ') { checkChar = board[1][0]; if(checkChar == board[1][1] && checkChar == board[1][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } } if(board[2][0] != ' ') { checkChar = board[2][0]; if(checkChar == board[2][1] && checkChar == board[2][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } else if(checkChar == board[1][1] && checkChar == board[0][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } } else if(board[0][1] != ' ') { checkChar = board[0][1]; if(checkChar == board[1][1] && checkChar == board[2][1]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } } else if(board[0][2] != ' ') { checkChar = board[0][2]; if(checkChar == board[1][2] && checkChar == board[2][2]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } else if(checkChar == board[1][1] && checkChar == board[2][0]) { if(player1Turn) { System.out.println("Winner Winner Chicken Dinner Player 1"); player1WinCount++; wasWinner(); } else { System.out.println("Winner Winner Chicken Dinner Player 2"); player2WinCount++; wasWinner(); } } } for( int i = 0; i
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote