import java.util.*;
import javax.swing.*;
public class GameTest{
public static void main(String args[])
{
int shouldRun = 1;
while (shouldRun == 1){
System.out.println("Play a(nother) game? Enter 1 for Yes; 0 for No."); // Asks Users if they wish to play the Game.
Scanner in = new Scanner(System.in);
if (in.nextInt() == 0)
{
shouldRun = 0;
System.out.println("Goodbye!"); // Goodbye displayed and program ends, if No is Selected.
}else{ // Game Runs if No is not Selected.
System.out.println("Enter the target score."); // Asks User to input Target Score to Win the Game.
int wins = in.nextInt(); // Inputs the Number of Wins needed.
Player Player1 = new Player();
Player Player2 = new Player();
while ((Player1.getWins() != wins) && (Player2.getWins() != wins)){ // Game Continues to play While there is no Winner.
int player1Move = Player1.useMove();
int player2Move = Player2.useMove();
// Rock = 0, Paper = 1, Scissors = 2
if ((player1Move == 0) && (player2Move == 0)){
// Tie Game
} else if ((player1Move == 0) && (player2Move == 1)){
Player2.setWins(); // Player 2 Wins
} else if ((player1Move == 0) && (player2Move == 2)){
Player1.setWins(); // Player 1 Win
} else if ((player1Move == 1) && (player2Move == 0)){
Player1.setWins(); // Player 1 Wins
} else if ((player1Move == 1) && (player2Move == 1)){
// Tie Game
} else if ((player1Move == 1) && (player2Move == 2)){
Player2.setWins(); // Player 2 Wins
} else if ((player1Move == 2) && (player2Move == 0)){
Player2.setWins(); // Player 2 Wins
} else if ((player1Move == 2) && (player2Move == 1)){
Player1.setWins(); // Player 1 Wins
} else if ((player1Move == 2) && (player2Move == 2)){
// Tie Game
}
JOptionPane.showMessageDialog(null, "Player 1 chose: " + player1Move + "\nPlayer 2 chose: " + player2Move + "\nPlayer 1: " + Player1.getWins() + "\nPlayer 2: " + Player2.getWins() + "\nPoints to Win: " + wins);
}
}
}
}
}
class Player{
private int wins;
private String winner;
public Player(){
wins = 0;
}
public int getWins(){
return wins;
}
public void setWins(){
wins++;
}
public String getWinner(Player Player1, Player Player2){
if(Player1.getWins() > Player2.getWins()){
winner = "Player 1";
return winner;
} else {
winner = "Player 2";
return winner;
}
}
public int useMove(){
Random r = new Random();
int play = r.nextInt(3);
return play;
}
}