public MultiplayerRound createMultiplayerRound() { List<TournamentPlayer> roundPlayers = getActivePlayers(); boolean isLastRound = (rounds.size() + 1 == getNumberRounds()); MultiplayerRound round = null; if (options.matchOptions.getNumSeats() > 2) { options.matchOptions.setAttackOption(MultiplayerAttackOption.MULTIPLE); RoundPairings roundPairings; if (roundPlayers.size() <= 16) { SwissPairingMinimalWeightMatching swissPairing = new SwissPairingMinimalWeightMatching(roundPlayers, rounds, isLastRound); roundPairings = swissPairing.getRoundPairings(); } else { SwissPairingSimple swissPairing = new SwissPairingSimple(roundPlayers, rounds); roundPairings = swissPairing.getRoundPairings(); } round = new MultiplayerRound(rounds.size() + 1, this, options.matchOptions.getNumSeats()); for (TournamentPairing pairing : roundPairings.getPairings()) { round.addPairing(pairing); } } return round; } }
@Override protected void runTournament() { for (Map.Entry<UUID, TournamentPlayer> entry: players.entrySet()) { if (entry.getValue().getPlayer().autoLoseGame()) { entry.getValue().setEliminated(); entry.getValue().setResults("Auto Eliminated"); } } if (options.matchOptions.getNumSeats() == 2) { while (this.getActivePlayers().size() > 1) { // check if some player got killed / disconnected meanwhile and update their state tableEventSource.fireTableEvent(TableEvent.EventType.CHECK_STATE_PLAYERS); Round round = createRoundRandom(); playRound(round); eliminatePlayers(round); } } else { options.matchOptions.setAttackOption(MultiplayerAttackOption.MULTIPLE); MultiplayerRound round = new MultiplayerRound(0, this, options.matchOptions.getNumSeats()); for (TournamentPlayer player : getActivePlayers()) { round.addPlayer(player); } playMultiplayerRound(round); } nextStep(); }
@Override protected void runTournament() { for (Entry<UUID, TournamentPlayer> entry : players.entrySet()) { if (entry.getValue().getPlayer().autoLoseGame()) { entry.getValue().setEliminated(); entry.getValue().setResults("Auto Eliminated"); } } if (options.matchOptions.getNumSeats() == 2) { while (this.getActivePlayers().size() > 1 && this.getNumberRounds() > this.getRounds().size()) { // check if some player got killed / disconnected meanwhile and update their state tableEventSource.fireTableEvent(TableEvent.EventType.CHECK_STATE_PLAYERS); // Swiss pairing Round round = createRoundSwiss(); playRound(round); } } else { options.matchOptions.setAttackOption(MultiplayerAttackOption.MULTIPLE); MultiplayerRound round = createMultiplayerRound(); playMultiplayerRound(round); } nextStep(); }
if (options.matchOptions.getNumSeats() == 2) { RoundPairings roundPairings; if (roundPlayers.size() <= 16) {