@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(); }
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(); }
options.setLimited(false); options.setMatchTimeLimit((MatchTimeLimit) this.cbTimeLimit.getSelectedItem()); options.setAttackOption((MultiplayerAttackOption) this.cbAttackOption.getSelectedItem()); options.setSkillLevel((SkillLevel) this.cbSkillLevel.getSelectedItem()); options.setRange((RangeOfInfluence) this.cbRange.getSelectedItem());
options.getPlayerTypes().add(PlayerType.COMPUTER_MAD); options.setDeckType("Limited"); options.setAttackOption(MultiplayerAttackOption.LEFT); options.setRange(RangeOfInfluence.ALL); options.setWinsNeeded(1);
tOptions.getMatchOptions().setWinsNeeded((Integer) this.spnNumWins.getValue()); tOptions.getMatchOptions().setFreeMulligans((Integer) this.spnFreeMulligans.getValue()); tOptions.getMatchOptions().setAttackOption(MultiplayerAttackOption.LEFT); tOptions.getMatchOptions().setRange(RangeOfInfluence.ALL); tOptions.getMatchOptions().setRollbackTurnsAllowed(this.chkRollbackTurnsAllowed.isSelected());