Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a JAVA program that lets the user play the game of Rock, Paper, Scissors a

ID: 3722587 • Letter: W

Question

Write a JAVA program that lets the user play the game of Rock, Paper, Scissors against the computer. The program should work as follows:-
1. When the program begins, the user enters his or her choice of “r”, “p”, or “s” at the keyboard using a menu in a function, called selection, that returns a character.
2. Next, there should be a function, called CP, that generates the computer’s play. A random number in the range of 1 through 3 is generated. (NOTE: You’ll have to do some research on how to create random numbers correctly.) If the number is 1, then the computer has chosen rock. If the number is 2, then the computer has chosen paper. If the number is 3, then the computer has chosen scissors. The computer’s choice is returned as a character.
3. After, a function, called W, will determine the winner between the user’s choice vs. the computer’s choice. (NOTE: It will return nothing, but it will take in the user’s choice and the computer’s choice as the two arguments.) The result 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, the game ends in a draw and there is no winner.
4. Finally, after a result is selected, there should be a function, called Repeat, in which the player should have the option of playing again. This should return a boolean. Be sure that the program contains at least the four functions mentioned .

Explanation / Answer

import java.util.*;

class GameWinner{

public static int getComputerChoice(){

int choice;

Random rand = new Random();

choice = (rand.nextInt(3)) + 1;

return choice;

}

public static int getUserChoice()

{

Scanner in = new Scanner(System.in);

int choice;

System.out.println("***** MENU ******");

System.out.println(" 1. rock");

System.out.println(" 2. paper");

System.out.println(" 3. scissor");

System.out.print("Enter user choice: (1 to 3): ");

while(true){

choice = in.nextInt();

if(choice>0 && choice<4)

return choice;

System.out.println("Invalid Choice. Reenter: ");

}

}

public static void displayChoice(int x)

{

switch(x){

case 1:

System.out.println("rock");

break;

case 2:

System.out.println("paper");

break;

case 3:

System.out.println("scissor");

break;

}

}

public static void determineWinner(int userChoice, int computerChoice){

if((userChoice==1 && computerChoice==3) || (userChoice==3 && computerChoice==1)){

System.out.println("rock wins");

}

else if((userChoice==3 && computerChoice==2) || (userChoice==2 && computerChoice==3)){

System.out.println("scissors wins");

}

else if((userChoice==2 && computerChoice==1) || (userChoice==1 && computerChoice==2)){

System.out.println("paper wins");

}

else if(userChoice==computerChoice){

System.out.println("tie");

}

}

public static void main(String[] args)

{

int computerChoice, userChoice;

while(true){

computerChoice = getComputerChoice();

userChoice = getUserChoice();

System.out.print("Computer Choice: ");

displayChoice(computerChoice);

System.out.print("User Choice: ");

displayChoice(userChoice);

System.out.print("Final Result is: ");

determineWinner(userChoice, computerChoice);

System.out.println();

}

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote