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
how are you
need help with thi Next, you are going to combine everything you've learned about HTML and CSS to make a static site portfolio piece. The page should first introduce yourself. The content is up to you, but should include a variety of HTML elements, not just text. This should be followed by an online (HTML-ified) version of your CV (Resume). The following is a minimum list of requirements you should have across all your content: Both pages should start with a CSS reset (imported into your CSS, not included in your HTML) Semantic use of HTML5 sectioning elements for page structure A variety other semantic HTML elements Meaningful use of Grid, Flexbox and the Box Model as appropriate for different layout components A table An image Good use of CSS Custom Properties (variables) Non-trivial use of CSS animation Use of pseudeo elements An accessible colour palette Use of media queries The focus of this course is development, not design. However, being able to replicate a provided design…
Using the notation

Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
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