Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
davi-bart committed Feb 15, 2024
2 parents d838377 + aab1596 commit b81c39e
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 10 deletions.
15 changes: 5 additions & 10 deletions src/main/java/it/unibo/controller/impl/MainControllerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -149,12 +149,7 @@ public boolean hasResources(final String playerName, final Map<ResourceType, Int

@Override
public boolean canEndTurn() {
final int cycle = turnController.getCycle();
if (cycle <= 2) {
return this.boardController.getPlayerPropertyPositions(getCurrentPlayer()).size() == cycle
&& this.boardController.getPlayerRoadPositions(getCurrentPlayer()).size() == cycle;
}
return !mustPlaceRobber() && turnController.hasRolled();
return !mustPlaceRobber() && gameManager.canEndTurn();
}

@Override
Expand Down Expand Up @@ -216,9 +211,9 @@ public boolean mustPlaceRobber() {

@Override
public Pair<Integer, Integer> rollDie() {
final Pair<Integer, Integer> rolledValue = turnController.rollDie();
produceResources(rolledValue.getLeft() + rolledValue.getRight());
mustPlaceRobber = rolledValue.getLeft() + rolledValue.getRight() == 7;
return rolledValue;
final Pair<Integer, Integer> rolledDies = turnController.rollDie();
produceResources(rolledDies.getLeft() + rolledDies.getRight());
mustPlaceRobber = (rolledDies.getLeft() + rolledDies.getRight()) == 7;
return rolledDies;
}
}
5 changes: 5 additions & 0 deletions src/main/java/it/unibo/model/api/GameManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ public interface GameManager {
*/
boolean canBuyCard(Player player);

/**
* @return whether the current player can end the turn
*/
boolean canEndTurn();

/**
* Make each tile with number {@code number} produce its resource.
* It automatically updates the resources of each player.
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/it/unibo/model/impl/GameManagerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -293,4 +293,14 @@ private boolean isRoadNearToAnyPlayerProperty(final RoadPosition roadPosition, f
});
}

@Override
public boolean canEndTurn() {
final int cycle = turnManager.getCycle();
if (cycle < 2) {
return this.propertyManager.getPlayerProperties(turnManager.getCurrentPlayerTurn()).size() == cycle
&& this.roadManager.getPlayerRoads(turnManager.getCurrentPlayerTurn()).size() == cycle;
}
return turnManager.hasRolled();
}

}

0 comments on commit b81c39e

Please sign in to comment.