
Big Java, Binder Ready Version: Early Objects
6th Edition
ISBN: 9781119056447
Author: Cay S. Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 10, Problem 19PP
Program Plan Intro
Tic-Tac-Toe game
Program plan:
- In a file “TicTacToeStrategy.java”, create an interface “TicTacToeStrategy”,
- Declare the method “get_Move ()” to compute the next move.
- In a file “TicTacToeStrategyMock.java”, create a class “TicTacToeStrategyMock” that implements “TicTacToeStrategy” interface,
- Define the method “get_Move ()”,
- Assign the string representation of board.
- Assign the position.
- Initialize the variable.
- Assign the row value.
- Assign the column value.
- Return the value.
- Define the method “get_Move ()”,
- In a file “TicTacToeBoard.java”, create a class “TicTacToeBoard”,
- Declare the array.
- Declare and initialize the row and column.
- Define the constructor to create the empty board.
- Create 2D array.
- Iterate over rows,
- Iterate over columns,
- Fill the array with spaces.
-
- Declare the method “makeMove()” to set the field,
- Initialize the variables.
- Check the condition,
- Set the field.
- Define the method “toString()”,
- Declare the string variable.
- Create a loop,
- Concatenate the string with “|”.
- Create a loop,
- Concatenate the string with value.
- Concatenate the string with new line character.
- Concatenate the string with value.
- Return the string representation of the board.
- Define the method “isOver()”,
- Create a loop,
- Assign the board location.
- Check the condition,
- If it is true, return true.
- Iterate over columns,
- Assign the board location,
- Check the condition,
- If it is true, return true.
- Assign the value for diagonal.
- Return the value.
- Create a loop,
- Declare the method “makeMove()” to set the field,
- Iterate over columns,
- In a file “TicTacToeUI.java”, import necessary package, and create a class “TicTacToeUI”,
- Define the method “main()”,
- Create “Scanner” object.
- Create “TicTacToeBoard” object.
- Create “TicTacToeStrategyMock” object.
- Execute loop for true,
- Prompt the user to enter the move.
- Get the move from the user.
- Call the method “makeMove()”.
- Print the string representation of the board.
- Check whether the game is over,
- If it is true, return nothing.
- Assign the move of the computer.
- Print the computer’s move.
- Call the method “makeMove()”.
- Print the board.
- Check whether the game is over,
- If it is true, return nothing.
- Define the method “main()”,
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
show all the work
List down the strenghts and weaknesses of your team project for Capsim Simulation? Explan.
Capsim Team PowerPoint Presentations - Slide Title: Key LearningsWhat were the key learnings that you discovered as a team through your Capsim simulation?
Chapter 10 Solutions
Big Java, Binder Ready Version: Early Objects
Ch. 10.1 -
Suppose you want to use the average method to...Ch. 10.1 - Prob. 2SCCh. 10.1 - Prob. 3SCCh. 10.1 -
What is wrong with this code?
Measurable meas =...Ch. 10.1 -
What is wrong with this code?
Measurable meas =...Ch. 10.2 -
Can you use a cast (BankAccount) meas to convert...Ch. 10.2 - Prob. 7SCCh. 10.2 -
Why is it impossible to construct a Measurable...Ch. 10.2 -
Why can you nevertheless declare a variable whose...Ch. 10.2 -
What does this code fragment print? Why is this...
Ch. 10.3 - Prob. 11SCCh. 10.3 - Prob. 12SCCh. 10.3 - Prob. 13SCCh. 10.3 -
Write a method max that finds the larger of any...Ch. 10.3 -
Write a call to the method of Self Check 14 that...Ch. 10.4 -
Suppose you want to use the average method of...Ch. 10.4 - Prob. 17SCCh. 10.4 - Prob. 18SCCh. 10.4 - Write a method max with three arguments that finds...Ch. 10.4 - Write a call to the method of Self Check 19 that...Ch. 10.5 - Why would you use an inner class instead of a...Ch. 10.5 - When would you place an inner class inside a class...Ch. 10.5 - How many class files are produced when you compile...Ch. 10.6 - Why is it necessary that the real class and the...Ch. 10.6 - Why is the technique of mock objects particularly...Ch. 10.7 - Prob. 26SCCh. 10.7 - Prob. 27SCCh. 10.7 - Prob. 28SCCh. 10.7 - Prob. 29SCCh. 10.7 - If an inner class accesses a local variable from a...Ch. 10.8 - Prob. 31SCCh. 10.8 - Prob. 32SCCh. 10.9 - Prob. 33SCCh. 10.9 - Prob. 34SCCh. 10.10 - Prob. 35SCCh. 10.10 - Why must the MousePressListener class supply five...Ch. 10 - Prob. 1RECh. 10 - Prob. 2RECh. 10 - Prob. 3RECh. 10 - Prob. 4RECh. 10 - Prob. 5RECh. 10 - The classes Rectangle2D.Double, Ellipse2D.Double,...Ch. 10 - Suppose r contains a reference to a new...Ch. 10 - Classes such as Rectangle2D. Double,...Ch. 10 - Prob. 9RECh. 10 - What happens if you try to use an array of String...Ch. 10 - Prob. 11RECh. 10 - What happens if you pass an array of strings and...Ch. 10 - Consider this top-level and inner class. Which...Ch. 10 - What happens when an inner class tries to access a...Ch. 10 - Prob. 15RECh. 10 - Prob. 16RECh. 10 - Prob. 17RECh. 10 - What is the difference between an ActionEvent and...Ch. 10 - Prob. 19RECh. 10 - Prob. 20RECh. 10 - Prob. 21RECh. 10 - Prob. 22RECh. 10 - Prob. 23RECh. 10 - Prob. 24RECh. 10 - Add a method
public static Measurable...Ch. 10 - Prob. 2PECh. 10 - A person has a name and a height in centimeters....Ch. 10 - Add static methods largest and smallest to the...Ch. 10 - In the Sequence interface of Worked Example 10.1,...Ch. 10 - In Worked Example 10.1, add a default...Ch. 10 - In Worked Example 10.1, make the process method a...Ch. 10 - Add a method to the Data class that returns the...Ch. 10 - Prob. 9PECh. 10 - Modify the Coin class from Chapter 8 to have it...Ch. 10 - Repeat Exercise E10.9, making the Measurer into an...Ch. 10 - Repeat Exercise E10.9, making the Measurer an...Ch. 10 - Implement a class Bag that stores items...Ch. 10 - Prob. 14PECh. 10 - Reimplement Exercise E10.14 where the grid is...Ch. 10 - Prob. 16PECh. 10 - Enhance the ButtonViewer program so that it prints...Ch. 10 - Prob. 18PECh. 10 - Prob. 19PECh. 10 - Prob. 20PECh. 10 - Prob. 21PECh. 10 - Prob. 22PECh. 10 - Prob. 23PECh. 10 - Reimplement the program in Section 10.7.2,...Ch. 10 - Prob. 25PECh. 10 - Prob. 26PECh. 10 - Prob. 27PECh. 10 - Prob. 28PECh. 10 - Prob. 29PECh. 10 - Prob. 30PECh. 10 - Prob. 1PPCh. 10 - Write a class PrimeSequence that implements the...Ch. 10 - Prob. 3PPCh. 10 - Prob. 4PPCh. 10 - Prob. 5PPCh. 10 - Prob. 6PPCh. 10 - Prob. 7PPCh. 10 - Prob. 8PPCh. 10 - Prob. 9PPCh. 10 - Prob. 10PPCh. 10 - Prob. 11PPCh. 10 - Prob. 12PPCh. 10 - Prob. 13PPCh. 10 - Prob. 14PPCh. 10 - Prob. 15PPCh. 10 - Prob. 16PPCh. 10 - Prob. 17PPCh. 10 - Prob. 18PPCh. 10 - Prob. 19PPCh. 10 - Prob. 20PPCh. 10 - Prob. 21PPCh. 10 - Prob. 22PPCh. 10 - Prob. 23PPCh. 10 - Prob. 24PPCh. 10 - Prob. 25PPCh. 10 - Prob. 26PPCh. 10 - Prob. 27PP
Knowledge Booster
Similar questions
- Write the SQL code that permits to implement the tables: Student and Transcript. NB: Add the constraints on the attributes – keys and other.arrow_forwardDraw an ERD that will involve the entity types: Professor, Student, Department and Course. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forwardDraw an ERD that represents a book in a library system. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forward
- 2:21 m Ο 21% AlmaNet WE ARE HIRING Experienced Freshers Salesforce Platform Developer APPLY NOW SEND YOUR CV: Email: hr.almanet@gmail.com Contact: +91 6264643660 Visit: www.almanet.in Locations: India, USA, UK, Vietnam (Remote & Hybrid Options Available)arrow_forwardProvide a detailed explanation of the architecture on the diagramarrow_forwardhello please explain the architecture in the diagram below. thanks youarrow_forward
- Complete the JavaScript function addPixels () to calculate the sum of pixelAmount and the given element's cssProperty value, and return the new "px" value. Ex: If helloElem's width is 150px, then calling addPixels (hello Elem, "width", 50) should return 150px + 50px = "200px". SHOW EXPECTED HTML JavaScript 1 function addPixels (element, cssProperty, pixelAmount) { 2 3 /* Your solution goes here *1 4 } 5 6 const helloElem = document.querySelector("# helloMessage"); 7 const newVal = addPixels (helloElem, "width", 50); 8 helloElem.style.setProperty("width", newVal); [arrow_forwardSolve in MATLABarrow_forwardHello please look at the attached picture. I need an detailed explanation of the architecturearrow_forward
- Information Security Risk and Vulnerability Assessment 1- Which TCP/IP protocol is used to convert the IP address to the Mac address? Explain 2-What popular switch feature allows you to create communication boundaries between systems connected to the switch3- what types of vulnerability directly related to the programmer of the software?4- Who ensures the entity implements appropriate security controls to protect an asset? Please do not use AI and add refrencearrow_forwardFind the voltage V0 across the 4K resistor using the mesh method or nodal analysis. Note: I have already simulated it and the value it should give is -1.714Varrow_forwardResolver por superposicionarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education