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

Math Game

Program plan:

Filename: “MathGame.java”

This program file is used to define an abstract class “MathGame”. In the code,

  • Define a class “MathGame”.
    • Define the class member variables “player”, “generator” and “in”.
    • Define a constructor “MathGame()”.
      • Initialize the class members by creating the object of classes.
    • Define a method “play()”.
      • Call the method “readPlayerInformation()”.
      • Create a string variable “response”.
      • Create a boolean variable “done”.
      • Iterate a “while” loop,
        • Call the method “playRound()”.
        • Prompt the statement.
        • Get the value of “response” from user.
        • If the value of “response” is not equal to “y”,
          • Set the value of “done” as “true”.
    • Define a method “readPlayerInformation ()”.
      • Declare a string variable “name”.
      • Prompt the user to enter the name.
      • Scan for the value of “name”.
      • Create an integer variable “initialLevel” and assign “0” to it.
      • Create a Boolean variable “done” and set its value as “false”.
      • Iterate a “while” loop,
        • Prompt the statement to the user.
        • Define a “try…catch” block,
          • Get the value of “initialLevel” from the user.
          • If the value of “initialLevel” is between 1-3,
            • Set the value of “done” equal to true.
        • Catch an exception “e”.
          • Read a new line character.
          • Prompt the user to enter a number between 1 and 3.
              • Set “player”.
    • Define a method “playRound()”.
      • Define the variables “i1”, “i2” and “answer”.
      • If the level is 1,
        • Create a Boolean variable “done” and assign “false” to it.
        • Iterate a “while” loop,
          • Set the value of “i1”.
          • Set the value of “i2”.
          • Calculate the value of “answer”.
          • If the value of “answer” is less than 9,
            • Set the value of “done” as “true”.
      • else if the level is 2,
        • Set the value of “i1”.
        • Set the value of “i2”.
        • Calculate the value of “answer”.
        • Print the question.
      • If the level is 3,
        • Define a Boolean variable “done” and set a value “false”.
        • Iterate a “while” loop.
          • Set the value of “i1”.
          • Set the value of “i2”.
          • Calculate the value of “answer”.
          • If the value of “answer” is less than 9,
            • Set the value of “done” as “true”.
        • Print the question.
      • Print the result.
    • Define a method “getResult()”.
      • Define a variable “guess”.
      • If the value of “answer” is not equal to “guess”.
        • Set the value of “guess” again.
              • Create a string variable “result”.
              • If the value of “answer” and “guess” are equal,
                • Set the “result”.
                • Call the method “incrementScore()”.
              • Else,
                • Set the “result”.
              • Return the value of “result”.
    • Define a method “getGuess()”.
      • Create a variable “guess”.
      • Create a Boolean variable “done” and set “false”.
      • Create a string variable “input”.
      • Iterate a “while” loop,
        • Define “try” block.
          • If the level is 3,
            • Ask the question.
            • Get the value of “guess”.
          • Else,
            • Ask the question,
            • Get the value of “guess”.
          • If the value of “guess” is greater than 0,
            • Set the value of “done” as true.
        • Define the “catch” block.
          • Read a newline character.
          • Print the statement.
      • Return the value of “guess”.

Filename: “Player.java”

This program file is used to define a class “Player”. In the code,

  • Define a class “Player”.
    • Declare the class members “name”, “score” and “level”.
    • Define a constructor “Player()”.
      • Initialize the class members “name”, “score” and “level”.
    • Define a constructor “Player()”.
      • Set the class members “name”, “score” and “level”.
    • Define a method “incrementScore()”.
      • Increment the value of “score” by 1.
      • If the condition “score % 5 == 0 && level < 3” is true,
        • Increment the “level” by 1.
    • Define a method “getLevel()”.
      • Return the value of “level”.
    • Define a method “getName()”.
      • Return the value of “name”.

Filename: “MathGameRunner.java”

This program file is used to define a class “MathGameRunner”. In the code,

  • Define a class “MathGameRunner”.
    • Define a method “main()”.
      • Create the object “game” of class “MathGame”.
      • Call the method “play()” and print the value.

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