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
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