Question
by using java ( loop or if -- else statement ) The user input should be text, not numerical (e.g., rock not 1). It should
by using java ( loop or if -- else statement )
The user input should be text, not numerical (e.g., "rock" not 1). It should also be case-insensitive (see the Sample Run, below). Suggestion: use the Scanner method nextLine() instead of the Scanner method next() for user input. Suggestion: to minimize re-write of your existing code, "translate" the user input into one of five values (there are three in the original program); a good way to do this is to define and call a method static int textToNumber(String choice).
After each round, the user is prompted as to whether they want to play again (i.e., yes or no). Suggestion: only play again if the user enters yes; otherwise, end the game. Suggestion: use the Scanner method nextLine() instead of the Scanner method next() for user input.
For each round, the user input of choice should be validated as one of the five valid choices; anything else causes the round to be forfeited and prompts the user as to whether they want to play another round. Suggestion: define a method static boolean isValid(String choice) and call it with the user choice as an if condition.
You will have to add methods for the two new choices that the user can make: int lizardChoice(int computerChoice) int SpockChoice(int computerChoice) As with the original three methods, each of these two new methods returns one of the three named int constants PLAYER1_WINS, PLAYER2_WINS, or DRAW.
You will also have to re-define (expand) the code in the original three methods rockChoice, paperChoice, and scissorsChoice to check whether the computer chose either of the two new choices (i.e., lizard or Spock).
Sample Run (user input in color):
run: Welcome to the game of Rock Paper Scissors Lizard Spock Here are the rules: Scissors cuts Paper Paper covers Rock Rock crushes Lizard Lizard poisons Spock Spock smashes Scissors Scissors decapitates Lizard Lizard eats Paper Paper disproves Spock Spock vaporizes Rock (and as it always has) Rock crushes scissors Ready? Then let's begin! Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): rock OK, you chose rock Player 2 (computer) chooses rock It's a draw Play again (yes/no)? yes Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): spock OK, you chose spock Player 2 (computer) chooses lizard Lizard poisons Spock; Player 2 wins Play again (yes/no)? yes Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): banana <--- invalid input Invalid choice "banana"; try again. Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): Paper OK, you chose paper Player 2 (computer) chooses scissors Scissors cut paper; Player 2 wins Play again (yes/no)? yes Player 1, enter your choice ( rock, paper, scissors, lizard, spock ): <--- invalid input (empty string) Invalid choice ""; try again. Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): SCISSORS OK, you chose scissors Player 2 (computer) chooses paper Scissors cut paper; Player 1 wins Play again (yes/no)? yes Player 1, enter your choice ( rock, paper, scissors, lizard, Spock ): lIZARD OK, you chose lizard Player 2 (computer) chooses scissors Scissors decaptiate lizard; Player 2 wins Play again (yes/no)? no BUILD SUCCESSFUL (total time: 1 minute 30 seconds)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started