Chapter 5. PC #17. Rock, Paper, Scissors Game (page 317) Write a program that lets the user play the game of Rock, Paper, Scissors against the computer. The program should work as follows. 1. Add the following two lines to the beginning of your main method. This will allow your computer choices match with the test cases here in HyperGrade. long seed = Long.parseLong(args[0]); Random random = new Random(seed); 2. When the program begins, a random number in the range of 0 through 2 is generated. If the number is 0, then the computer has chosen rock. If the number is 1, then the computer has chosen paper. If the number is 2, then the computer has chosen scissors. (Do not display the computer choice yet.) 3. The user enters his or her choice of "rock", "paper", or "scissors" at the keyboard. You should use 1 for rock, 2 for paper, and 3 for scissors. Internally, you can store 0, 1, and 2 as the user choice, to match with the above schema. 4. Both user and computer choices are displayed. 5. A winner is selected according to the following rules: If one player chooses rock and the other player chooses scissors, then rock wins. (The rock smashes the scissors.) If one player chooses scissors and the other player chooses paper, then scissors wins. (Scissors cuts paper.) If one player chooses paper and the other player chooses rock, then paper wins. (Paper wraps rock.) If both players make the same choice, then it is a draw. If you prefer, you can use circular addition for selecting a winner. For example if computer_choice + 1 modulo 3 is equal to human_choice, then the user wins. 6. Then the user is prompted for continuing the game. If the user selects "yes" or "y" (case insensitive) then another round is played. If the user selects "no" or "n", then the program exits. Make sure to divide the program into methods that perform each major task. As always, make sure you only have one Scanner object linked to the keyboard. Also, you should only have one random number generator (shown above).  Please make sure this code will in Hypergrade and passes all the test casses. I do not need thanks for playing or goodbye in the code.     Test Case 1       Command Line arguments:   123456789   Enter 1 for rock, 2 for paper, and 3 for scissors.\n 1ENTER Your choice: rock. Computer choice: paper.\n Computer wins.\n Would you like to play more?\n nENTER   Test Case 2       Command Line arguments:   123456789   Enter 1 for rock, 2 for paper, and 3 for scissors.\n 2ENTER Your choice: paper. Computer choice: paper.\n It's a draw.\n Would you like to play more?\n nENTER   Test Case 3       Command Line arguments:   123456789   Enter 1 for rock, 2 for paper, and 3 for scissors.\n 3ENTER Your choice: scissors. Computer choice: paper.\n You win.\n Would you like to play more?\n nENTER   Test Case 4       Command Line arguments:   123456789   Enter 1 for rock, 2 for paper, and 3 for scissors.\n 0ENTER Please respond 1, 2, or 3.\n Enter 1 for rock, 2 for paper, and 3 for scissors.\n 1ENTER Your choice: rock. Computer choice: paper.\n Computer wins.\n Would you like to play more?\n nENTER   Test Case 5       Command Line arguments:   123456789   Enter 1 for rock, 2 for paper, and 3 for scissors.\n -1ENTER Please respond 1, 2, or 3.\n Enter 1 for rock, 2 for paper, and 3 for scissors.\n 1ENTER Your choice: rock. Computer choice: paper.\n Computer wins.\n Would you like to play more?\n nENTER

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Chapter 5. PC #17. Rock, Paper, Scissors Game (page 317)
Write a program that lets the user play the game of Rock, Paper, Scissors against the computer. The program should work as follows.
1. Add the following two lines to the beginning of your main method. This will allow your computer choices match with the test cases here in HyperGrade.
long seed = Long.parseLong(args[0]);
Random random = new Random(seed);
2. When the program begins, a random number in the range of 0 through 2 is generated. If the number is 0, then the computer has chosen rock. If the number is 1, then the computer
has chosen paper. If the number is 2, then the computer has chosen scissors. (Do not display the computer choice yet.)
3. The user enters his or her choice of "rock", "paper", or "scissors" at the keyboard. You should use 1 for rock, 2 for paper, and 3 for scissors. Internally, you can store 0, 1, and 2 as the user choice, to match with the above schema.
4. Both user and computer choices are displayed.
5. A winner is selected according to the following rules:
If one player chooses rock and the other player chooses scissors, then rock wins. (The rock smashes the scissors.)
If one player chooses scissors and the other player chooses paper, then scissors wins. (Scissors cuts paper.)
If one player chooses paper and the other player chooses rock, then paper wins. (Paper wraps rock.)
If both players make the same choice, then it is a draw.
If you prefer, you can use circular addition for selecting a winner. For example if computer_choice + 1 modulo 3 is equal to human_choice, then the user wins.
6. Then the user is prompted for continuing the game. If the user selects "yes" or "y" (case insensitive) then another round is played. If the user selects "no" or "n", then the program exits.
Make sure to divide the program into methods that perform each major task. As always, make sure you only have one Scanner object linked to the keyboard. Also, you should only have one random number generator (shown above).
 Please make sure this code will in Hypergrade and passes all the test casses. I do not need thanks for playing or goodbye in the code.

 

 

Test Case 1

 
 
 
Command Line arguments:
 
123456789
 
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
1ENTER
Your choice: rock. Computer choice: paper.\n
Computer wins.\n
Would you like to play more?\n
nENTER
 

Test Case 2

 
 
 
Command Line arguments:
 
123456789
 
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
2ENTER
Your choice: paper. Computer choice: paper.\n
It's a draw.\n
Would you like to play more?\n
nENTER
 

Test Case 3

 
 
 
Command Line arguments:
 
123456789
 
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
3ENTER
Your choice: scissors. Computer choice: paper.\n
You win.\n
Would you like to play more?\n
nENTER
 

Test Case 4

 
 
 
Command Line arguments:
 
123456789
 
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
0ENTER
Please respond 1, 2, or 3.\n
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
1ENTER
Your choice: rock. Computer choice: paper.\n
Computer wins.\n
Would you like to play more?\n
nENTER
 

Test Case 5

 
 
 
Command Line arguments:
 
123456789
 
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
-1ENTER
Please respond 1, 2, or 3.\n
Enter 1 for rock, 2 for paper, and 3 for scissors.\n
1ENTER
Your choice: rock. Computer choice: paper.\n
Computer wins.\n
Would you like to play more?\n
nENTER
 
 
 
Expert Solution
Step 1: Algorithm :

Algorithm for Rock, Paper, Scissors Game

1. Parse the command line argument to get the seed for the random number generator.

2. Initialize a random number generator with the provided seed.

3. Create a Scanner object to read user input from the keyboard.

4. Display a message to the user: "Enter 1 for rock, 2 for paper, and 3 for scissors."

5. Create a loop to allow the user to play the game multiple times:
   a. Generate a random number (0, 1, or 2) to represent the computer's choice.
   b. Get the user's choice by calling the getUserChoice() method:
      - Inside getUserChoice():
        - Use a loop to ensure the user enters a valid choice (1, 2, or 3).
        - Convert the user's choice to a 0-based index.
   c. Convert both the user and computer choices to their respective strings.

6. Compare the user and computer choices to determine the winner by calling determineWinner() method:
   - Inside determineWinner():
     - If the choices are the same, return 0 for a draw.
     - If (computerChoice + 1) % 3 equals userChoice, return 1 for computer wins.
     - Otherwise, return 2 for user wins.

7. Display the user and computer choices and the result of the game.

8. Ask the user if they want to play more:
   - If the user enters "yes" or "y" (case insensitive), continue the loop.
   - If the user enters "no" or "n" (case insensitive), exit the loop and the program.

9. Close the Scanner object.

10. End the program.


steps

Step by step

Solved in 4 steps with 7 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education