skip to Main Content
The smarter way
to do assignments.

Please note that this is just a preview of a school assignment posted on our website by one of our clients. If you need assistance with this question too, please click on the Order button at the bottom of the page to get started.

Class TicTacToeimport java.util.*;/*** A class modelling a tic-tac-toe (noughts and crosses, Xs and Os) game.** @author Lynn Marshall* @version November 8, 2012*/public class TicTacToe{public static final String PLAYER_X = “X”; // player using “X”public static final String PLAYER_O = “O”; // player using “O”public static final String EMPTY = ” “; // empty cellpublic static final String TIE = “T”; // game ended in a tieprivate String player; // current player (PLAYER_X or PLAYER_O)private String winner; // winner: PLAYER_X, PLAYER_O, TIE, EMPTY = in progressprivate int numFreeSquares; // number of squares still freeprivate String board[][]; // 3×3 array representing the board/*** Constructs a new Tic-Tac-Toe board.*/public TicTacToe(){board = new String[3][3];}/*** Sets everything up for a new game. Marks all squares in the Tic Tac Toe board as empty,* and indicates no winner yet, 9 free squares and the current player is player X.*/private void clearBoard(){for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {board[i][j] = EMPTY;}}winner = EMPTY;numFreeSquares = 9;player = PLAYER_X; // Player X always has the first turn.}/*** Plays one game of Tic Tac Toe.*/public void playGame(){int row, col;Scanner sc;clearBoard(); // clear the board// print starting boardprint();// loop until the game endswhile (winner==EMPTY) { // game still in progress// get input (row and column)while (true) { // repeat until valid inputSystem.out.print("Enter row and column of chosen square (0, 1, 2 for each): ");sc = new Scanner(;row = sc.nextInt();col = sc.nextInt();if (row>=0 && row<=2 && col>=0 && col<=2 && board[row][col]==EMPTY) break;System.out.println("Invalid selection, try again.");}board[row][col] = player; // fill in the square with playernumFreeSquares--; // decrement number of free squares// see if the game is overif (haveWinner(row,col))winner = player; // must be the player who just wentelse if (numFreeSquares==0)winner = TIE; // board is full so it's a tie// print current boardprint();// change to other player (this won't do anything if game has ended)if (player==PLAYER_X)player=PLAYER_O;elseplayer=PLAYER_X;}}/*** Returns true if filling the given square gives us a winner, and false* otherwise.** @param int row of square just set* @param int col of square just set** @return true if we have a winner, false otherwise*/private boolean haveWinner(int row, int col){// unless at least 5 squares have been filled, we don't need to go any further// (the earliest we can have a winner is after player X's 3rd move).if (numFreeSquares>4) return false;// Note: We don’t need to check all rows, columns, and diagonals, only those// that contain the latest filled square. We know that we have a winner// if all 3 squares are the same, as they can’t all be blank (as the latest// filled square is one of them).// check row “row”if ( board[row][0].equals(board[row][1]) &&board[row][0].equals(board[row][2]) ) return true;// check column “col”if ( board[0][col].equals(board[1][col]) &&board[0][col].equals(board[2][col]) ) return true;// if row=col check one diagonalif (row==col)if ( board[0][0].equals(board[1][1]) &&board[0][0].equals(board[2][2]) ) return true;// if row=2-col check other diagonalif (row==2-col)if ( board[0][2].equals(board[1][1]) &&board[0][2].equals(board[2][0]) ) return true;// no winner yetreturn false;}/*** Prints the board to standard out using toString().*/public void print(){// something needs to be added here}/*** Returns a string representing the current state of the game. This should look like* a regular tic tac toe board, and be followed by a message if the game is over that says* who won (or indicates a tie).** @return String representing the tic tac toe game state*/public String toString(){return “”; // this needs to be updated}}Class TicTacToeFrameimport java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;/*** A class modelling a tic-tac-toe (noughts and crosses, Xs and Os) game in a very* simple GUI window.** @author Lynn Marshall* @version November 8, 2012*/public class TicTacToeFrame extends TicTacToe{private JTextArea status; // text area to print game status/*** Constructs a new Tic-Tac-Toe board and sets up the basic* JFrame containing a JTextArea in a JScrollPane GUI.*/public TicTacToeFrame(){// add the necessary code here}/*** Prints the board to the GUI using toString().*/public void print(){// add code here}}


Clicking on this button will take you to our custom assignment page. Here you can fill out all the additional details for this particular paper (grading rubric, academic style, number of sources etc), after which your paper will get assigned to a course-specific writer. If you have any issues/concerns, please don’t hesitate to contact our live support team or email us right away.

How It Works        |        About Us       |       Contact Us

© 2018 | Intelli Essays Homework Service®

Back To Top