Prevent players playing one 1 event from getting drawn out

This commit is contained in:
Michel ten Voorde
2024-11-06 18:06:47 +01:00
parent e75a5e1b66
commit 17c9f4e685
3 changed files with 29 additions and 6 deletions

View File

@@ -67,11 +67,12 @@ public class TournamentPlayService {
round.setStatus(Status.NOT_STARTED);
if (remainingTeams.size() % 2 == 1) {
var drawnOutPlayers = tournament.getDrawnOutPlayers();
var playersNotToBeDrawnOut = tournament.getDrawnOutPlayers();
playersNotToBeDrawnOut.addAll(tournament.getPlayersPlayingOnlyOneEvent());
var tryPosition = remainingTeams.size() - 1;
do {
var tryDrawOutTeam = remainingTeams.get(tryPosition);
if (!drawnOutPlayers.contains(tryDrawOutTeam.getPlayer1()) && (tryDrawOutTeam.getPlayer2() == null || !drawnOutPlayers.contains(tryDrawOutTeam.getPlayer2()))) {
if (!playersNotToBeDrawnOut.contains(tryDrawOutTeam.getPlayer1()) && (tryDrawOutTeam.getPlayer2() == null || !playersNotToBeDrawnOut.contains(tryDrawOutTeam.getPlayer2()))) {
remainingTeams.remove(tryDrawOutTeam);
round.setDrawnOut(tryDrawOutTeam);
break;