Question: Computer Science 111 Intro to Algorithms and Programming: Java Programming Project #2 Guessing Game (10 points) This is the old I'm thinking of a number
Computer Science 111 Intro to Algorithms and Programming: Java
Programming Project #2 Guessing Game (10 points)
This is the old "I'm thinking of a number between". When you run the program, the computer randomly generates a number. Then, the user is to guess the number. Upon guessing wrong, the program gives him/her a hint as to whether the guess is too high or too low. Once the number has been guessed, the game is over.
Create a command line Java program to input, keep track of, and check user's attempts to guess a randomly generated number. The input portion of the program will be a continuous loop, only breaking out of it when the user either guesses the correct number, or by entering -1 to signify giving up. After each guess, the user will be informed of his guess being too high, too low, or exactly correct. Upon exiting the loop, the user is given feedback of their guesses (amount guessed too low, amount guessed too high, total amount of guesses).
You'll need to generate a random number to be guessed by the user. Here are some lines of code you'll need:
import java.util.Random; // loads in the library with the code to generate random numbers Random rand = new Random(); // creates a new Random object with which to work int value = rand.nextInt(32)+1; // this is the line of code that grabs the random number itself
After the user is enters a guess, output a message. For example, "Your guess is larger than the random value. Next guess: ". Or, "You've guessed correct!" if the number guessed matches the random number the program generated.
Example of how this program's output should look after it runs:
run:
Guess the number I'm thinking of, from 1-100: 16 Your guess is larger than the random value. Next guess: 8 Your guess is larger than the random value. Next guess: 4 Your guess is smaller than the random value. Next guess: 6 You've guessed correct! Total number of guesses: 4 Smaller Guesses: 1 Larger Guesses: 2
Break large problems into smaller pieces!
Sometimes it is useful for beginners to complete a smaller, simpler program before tackling the full project. Start with an easy program that only completes part of the project. Name your project 'project2' and your main class 'GuessingGame'. Always use class, variable and project names that clearly describe what you are creating.
Please Design First
Dividing a larger problem into smaller sub-problems is an important technique in computer programming.
It is a good practice to design your software before you write the code. Here are some design tasks you should complete before you start:
Write out a list of variables you think you will need (e.g. int totalGuesses; // count of many guesses altogether scores)
Flow chart (or Pseudo code) the selection statement(s) to decide if the guess was too high, too low, or the equivalent number
Flow chart (or Pseudo code) the loop, include the check for -1 input and update of variables
In other words, have some idea about HOW you are going to solve the problem, BEFORE you try to solve the problem.
Optional - GUI Version
Be sure to complete part one, run it, test it, make sure it is perfect before you start part 2.
Read the GUI programming sections at the end of chapters 1 through 4. Create a second version of the program that uses GUI Dialog boxes to input the guesses and to output the results. Same calculations, same results, much of the code may be a copy and paste from part 1, just use a GUI for the input and output of the data.
I would create part 2 by adding a NEW main class java file (e.g. GuessingGameGUI) to the existing project. Do not change or delete your part 1 code, I want to see both programs.
OBJECT OF THE GAME (not required):
When you've completed this assignment, see if you can beat the game. The object of the game is to discover the algorithm you can use to never exceed 5 wrong guesses. HINT: The object of the game changes to never exceed 7 wrong guesses when you change the random number from 1-32 to 1-128. There is an algorithm in computer science you are looking for.
Something to think about:
How are random numbers generated in a computer?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
