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

I need to find a way to create the three different classes for this practice. Cr

ID: 3714696 • Letter: I

Question

I need to find a way to create the three different classes for this practice.

Create an application with the following three classes:

class Player // put it in a package called playerspackage

class GuessGame // put it in a package called guessgamepackage

class GameLauncher // put it in the package guessgamepackage

Class GameLauncher has its own main method and will instantiate a GuessGame object.

Class GuessGame creates two Player objects, create an integer number between 50 and 90, then asks each player to guess the integer number it has created. After that the GuessGame class checks the result, and either prints out information about the winning player(s) or asks them to guess again. The game terminates when at least one player guesses the right number. Assume that the Players are very smart, which means that they will not guess the same number twice or guess a number that has been guessed by the other player.

Here is an example of a possible output

I have a number between 50 and 90, guess the number?

Player 1: I am guessing 53

Player 2: I am guessing 55

No winners: Please try again

Player 1: I am guessing 67

Player 2: I am guessing 87

Great, we have a winner!

My number is 87, so Player 2 wins!

Hints:

Use Math.random() method to generate random numbers between 0 and 1.

Then use

        50 + (int) (Math.random() * 40)

to generate a random number between 50 and 90.

Use ArrayList objects as a memory for each player.

For example: ArrayList myMemory = new ArrayList();

Explanation / Answer


//Code to copy
//GameLauncher.java
//Create a pakcage named playerspackage
package playerspackage;
public class GameLauncher {

   public static void main(String[] args) {
       //Create an instance of GuessGame
       GuessGame game = new GuessGame();
       //callg playGame method
       game.playGame();
   }

}

---------------------------------------------------------------------------------------------

//Player.java
package playerspackage;
public class Player
{
   private int guess;
   private final int MIN=50;
   private final int MAX=90;
   //guess method to guess a random number of Player
public void guess()
{
   guess=0;
   guess = (int) (Math.random() * (MAX-MIN)+MIN);
System.out.printf("I am guessing " + guess);
  
}
//Get guess value
public int getguess(){
   return guess;
}
}

---------------------------------------------------------------------------------------------

//GuessGame.java
package playerspackage;
public class GuessGame {
   //declare two Player class objects
   private Player player1;
   private Player player2;

   //Method to start the game
   public void playGame()
   {
       //instantiate Player class objects
       player1 = new Player();
       player2 = new Player();
  
       boolean repeat=true;
       //set min and max values to generate random numbers
       int MIN=50;
       int MAX=90;
       //generate a random numebr in a range of 50 and 90
       int targetNumber = (int) (Math.random() * (MAX-MIN)+MIN);
      
       System.out.println("I have a number between "+MIN+" and "+MAX+", guess the number?");
      
       //repeat the whil loop until winner is found
       while(repeat)
       {
           System.out.printf("Player 1:");
           //call guess method on player1
           player1.guess();
           System.out.println();
           System.out.print("Player 2:");
           //call guess method on player1
           player2.guess();
           System.out.println();
      
           //check if player 1's number is target number
           if (player1.getguess() == targetNumber)
           {
               repeat=false;
               System.out.println("Great, we have a winner!");
               System.out.println("My number is "+player1.getguess()+", so Player 1 wins!");
              
           }
           //check if player 1's number is target number
           else if (player1.getguess() == targetNumber)
           {
               repeat=false;
               System.out.println("Great, we have a winner!");
               System.out.println("My number is "+player2.getguess()+", so Player 2 wins!");
           }
           else
           {
               System.out.println("No winners: Please try again");
           }
       }
   }
}

---------------------------------------------------------------------------------------------

Sample Output:

I have a number between 50 and 90, guess the number?
Player 1:I am guessing 70
Player 2:I am guessing 63
No winners: Please try again
Player 1:I am guessing 78
Player 2:I am guessing 79
No winners: Please try again
Player 1:I am guessing 58
Player 2:I am guessing 53
No winners: Please try again
Player 1:I am guessing 69
Player 2:I am guessing 82
Great, we have a winner!
My number is 69, so Player 1 wins!