Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 12, Problem 5PP
Program Plan Intro

  A tic-tac-toe game

Program plan:

  • In the file Combination.java”, create a class Combination”,
    • Declare and initialize necessary variables.
    • Define the constructor to construct a Combination object.
    • Define the method “equals()” to determine if the positions are equal.
    • Define the method “clone()” to clone an object.
    • Define the method “get()” to get the position.
    • Define the method “set()” to set the position.
    • Define the method “getWinner()” to get the winner.
    • Define the method “toString()” to get a string representation of the tictactoe board.
  • In the file Player.java”, create a class Player”,
    • Declare the variable.
    • Define the method “setMarker()” to set the marker.
    • Define the method “getMarker()” to get the marker.
    • Define the method “gameOver()” to determine if the game is over.
    • Define the method “nextMove()” to get the next move.
  • In the file HumanPlayer.java”, create a class HumanPlayer”,
    • Declare the “Scanner” variable.
    • Define the constructor to construct a HumanPlayer object.
    • Define the method “nextMove()” to get the next move.
  • In the file RandomPlayer.java”, import necessary package, and create a class RandomPlayer”,
    • Define the constructor.
    • Define the method “nextMove()” to get the next move.
  • In the file SmartPlayer.java”, create a class SmartPlayer”,
    • Define the constructor.
    • Define the method “nextMove()” to get the next move.
    • Define the method “gameOver()” to determine if game is over.
    • Define the method “isLoser()” to determine if the player is a loser.
  • In the file TicTacToe.java”, create a class TicTacToe”,
    • Declare the variables.
    • Define the constructor.
    • Define the method “play()” to play the game.
    • Define the method “showcombination()” to show the combination of moves.
    • Define the method “markerString()” to mark the board.
  • In the file TicTacToeRunner.java”, import necessary packages, and create a class “TicTacToeRunner”,
    • Define the method “main()”,
    • Create “Scanner” object.
    • Create an object for required classes.
    • Execute for true,
      • Get the input command.
      • If the input command is “P”, play the game.
      • Otherwise, if the input command is “Q”, quit the game.

Blurred answer
Students have asked these similar questions
You have made the Web solution with Node.js. please let me know what problems and benefits I would experience while making the Web solution here, as compared to any other Web solution you have developed in the past. what problems and benefits/things to keep in mind as someone just learning
PHP is the server-side scripting language. MySQL is used with PHP to store all the data. EXPLAIN in details how to install and run the PHP/MySQL on your computer. List the issues and challenges I may encounter while making this set-up?  why I asked: I currently have issues logging into http://localhost/phpmyadmin/ and I tried using the command prompt in administrator to reset the password but I got the error LOCALHOST PORT not found.
HTML defines content, CSS defines layout, and JavaScript adds logic to the website on the client side. EXPLAIN IN DETAIL USING an example.
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education