Question: Objective: Write one interface and three classes which will make a rock paper scissors game. First download the driver. The interface named RPSPlayerInterface will have
Objective:
Write one interface and three classes which will make a rock paper scissors game. First download the driver.
The interface named RPSPlayerInterface will have the following methods
- public int getPoints()
- public String getGesture()
- public void setPoints(int aPoints)
- public void setGesture(String aGesture)
- public void chooseGesture()
The next class RPSPlayer implements this interface
- It has an instance variable gesture which is a string that corresponds to rock, paper, or scissors
- It has another instance variable points that keeps track of how many times the player has won
- Create only a default constructor that sets the gesture to none and points to 0
- Create the accessors and mutators for the instance varaibles
- The mutator for setGesture should make sure it is either rock, paper, or scissors. If it is not then tell the user that was a wrong choice and set gesture to none
- Write the chooseGesture method
- In this case just set the instance variable gesture to none
Next write the class RPSHumanPlayer which inherits from RPSPlayer
- It has an instance variable keyboard which is of type Scanner
- Make sure to import java.util.Scanner
- Create a default constructor
- Calls the parents default constructor
- Sets up the keyboard to System.in
- Override the method chooseGesture
- Call the parents setGesture method and pass the string gotten from the Scanner keyboard.
- You do not have to prompt the user.
Next write the class RPSComputerPlayer which also inherits from RPSPlayer
- It has an instance variable rand which is of type Random
- Make sure to import java.util.Random
- Create a default constructor
- Calls the parents default constructor
- Constructs the rand variable
- Override the method chooseGesture
- Using the random variable it should randomly select a number
- Correspond the number to a string which will either rock, paper, or scissors
- For instance if rand equals 0 then it is a rock, else if 1 then paper, else if 2 then scissors
- Use the parents setGesture to then assign the randomly picked gesture
Lab Report
- Draw the UML Class diagram for this project
- Is it possible to implement more than one interface?
Example Dialog:
Welcome to the rock paper scissors game!
Enter either "rock", "paper", or "scissors" to compete
rock
You picked rock
The computer picked paper
You lose!
You have 0 points
The computer has 1 points
Press enter to continue or enter "quit" to quit
Enter either "rock", "paper", or "scissors" to compete
paper
You picked paper
The computer picked scissors
You lose!
You have 0 points
The computer has 2 points
Press enter to continue or enter "quit" to quit
Enter either "rock", "paper", or "scissors" to compete
scissors
You picked scissors
The computer picked paper
You win!
You have 1 points
The computer has 2 points
Press enter to continue or enter "quit" to quit
Enter either "rock", "paper", or "scissors" to compete
dynamite
Incorrect choice
You picked none
The computer picked paper
You lose!
You have 1 points
The computer has 3 points
Press enter to continue or enter "quit" to quit
quit
Good bye
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
