171k views
1 vote
Same rule: If both players spend the same number of coins, player 2 gains 1 coin. Off-by-one rule: If the players do not spend the same number of coins and the positive difference between the number of coins spent by the two players is 1, player 2 is awarded 1 coin. Off-by-two rule: If the players do not spend the same number of coins and the positive difference between the number of coins spent by the two players is 2, player 1 is awarded 2 coins. The following is an example of a game played with a starting value of 10 coins and a game length of 5 rounds

1 Answer

2 votes

Answer:

Check the explanation

Step-by-step explanation:

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 RockyFord
by
3.6k points