Help a brother out


Write a java program with these specifications.





playRps – This method plays 24 rounds of rps and returns the total points earned. For each of the 24 rounds, player1’s hand
gesture will be based on calling the nextInt method of the given Random object. If the next integer is even, player1 will play
rock. If it is odd, player1 will play paper. Player1 never plays scissors. Player2 will play rock in the first round, paper in the
second round, scissors in the third round, and repeat the cycle starting with rock again in the fourth round. The method will sum
the return values for the 24 calls to rps and return the total. Note, since an invalid input is never passed in to an rps call using
playRps, your return value should always be a non-negative number.

Respuesta :

tonb

Answer:

import java.util.*;  

class Main {

 private enum RPS { Rock, Paper, Scissors };

 private static RPS[] options = { RPS.Rock, RPS.Paper, RPS.Scissors };

 private static String[] names = {"Rock", "Paper", "Scissors"};

 // Return 1 if player 1 beats player 2, 0 otherwise

 static public int rps( RPS p1, RPS p2 ) {

   if (p1 == RPS.Rock && p2 == RPS.Scissors) return 1;

   if (p1 == RPS.Scissors && p2 == RPS.Paper) return 1;

   if (p1 == RPS.Paper && p2 == RPS.Rock) return 1;

   return 0;

 }

 static public int playRps() {

   Random rnd = new Random();      

   int totalPoints = 0;

   

   for(int round = 0; round < 24; round++) {

     int randomNumber = rnd.nextInt(2);  

     RPS player1 = options[randomNumber];      

     RPS player2 = options[round%3];

     String name1 = names[randomNumber];

     String name2 = names[round%3];

     int score = rps(player1, player2);

     if (player1 == player2) {

       System.out.printf("%d. Both players %s. Draw.\n",  round+1, name1);

     } else if (score == 0) {

       System.out.printf("%d. %s does not beat %s, player 1 loses.\n",  round+1, name1, name2);

     } else {

       System.out.printf("%d. %s beats %s, player 1 wins.\n", round+1, name1, name2);

     }      

     totalPoints += score;

   }

   return totalPoints;

 }

 public static void main(String[] args) {

   System.out.println("Playing RPS.");

   int total = playRps();

   System.out.printf("Player 1 earned %d points.\n", total);

 }

}