157k views
5 votes
Assume that getPlayer2Move works as specified, regardless of what you wrote in part (a) . You must use getPlayer1Move and getPlayer2Move appropriately to receive full credit. Complete method playGame below. /** Plays a simulated game between two players, as described in part (b). */ public void playGame()

1 Answer

4 votes

Answer:

(1)

public int getPlayer2Move(int round)

{

int result = 0;

//If round is divided by 3

if(round%3 == 0) {

result= 3;

}

//if round is not divided by 3 and is divided by 2

else if(round%3 != 0 && round%2 == 0) {

result = 2;

}

//if round is not divided by 3 or 2

else {

result = 1;

}

return result;

}

(2)

public void playGame()

{

//Initializing player 1 coins

int player1Coins = startingCoins;

//Initializing player 2 coins

int player2Coins = startingCoins;

for ( int round = 1 ; round <= maxRounds ; round++) {

//if the player 1 or player 2 coins are less than 3

if(player1Coins < 3 || player2Coins < 3) {

break;

}

//The number of coins player 1 spends

int player1Spends = getPlayer1Move();

//The number of coins player 2 spends

int player2Spends = getPlayer2Move(round);

//Remaining coins of player 1

player1Coins -= player1Spends;

//Remaining coins of player 2

player2Coins -= player2Spends;

//If player 2 spends the same number of coins as player 2 spends

if ( player1Spends == player2Spends) {

player2Coins += 1;

continue;

}

//positive difference between the number of coins spent by the two players

int difference = Math.abs(player1Spends - player2Spends) ;

//if difference is 1

if( difference == 1) {

player2Coins += 1;

continue;

}

//If difference is 2

if(difference == 2) {

player1Coins += 2;

continue;

}

}

// At the end of the game

//If player 1 coins is equal to player two coins

if(player1Coins == player2Coins) {

System.out.println("tie game");

}

//If player 1 coins are greater than player 2 coins

else if(player1Coins > player2Coins) {

System.out.println("player 1 wins");

}

//If player 2 coins is grater than player 2 coins

else if(player1Coins < player2Coins) {

System.out.println("player 2 wins");

}

}

User Sihaya
by
5.3k points