public void setQuit(String info, TourneyQuitStatus status) { setEliminated(); this.setState(TournamentPlayerState.CANCELED); this.setStateInfo(info); this.quit = true; this.doneConstructing = true; this.quitStatus = status; }
protected void winners() { List<TournamentPlayer> winners = new ArrayList<>(); int pointsWinner = 1; // with less than 1 point you can't win for (TournamentPlayer tournamentPlayer : this.getPlayers()) { if (pointsWinner < tournamentPlayer.getPoints()) { winners.clear(); winners.add(tournamentPlayer); pointsWinner = tournamentPlayer.getPoints(); } else if (pointsWinner == tournamentPlayer.getPoints()) { winners.add(tournamentPlayer); } } // set winner state for the players with the most points > 0 for (TournamentPlayer tournamentPlayer : winners) { tournamentPlayer.setStateInfo("Winner"); } }
public void timeout(UUID userId) { if (userPlayerMap.containsKey(userId)) { TournamentPlayer tournamentPlayer = tournament.getPlayer(userPlayerMap.get(userId)); if (tournamentPlayer.getDeck() != null) { tournament.autoSubmit(userPlayerMap.get(userId), tournamentPlayer.generateDeck()); } else { StringBuilder sb = new StringBuilder(); UserManager.instance.getUser(userId).ifPresent(user -> sb.append(user.getName())); sb.append(" - no deck found for auto submit"); logger.fatal(sb); tournamentPlayer.setEliminated(); tournamentPlayer.setStateInfo("No deck for auto submit"); } } }
protected Round createRoundRandom() { Round round = new Round(rounds.size() + 1, this); rounds.add(round); List<TournamentPlayer> roundPlayers = getActivePlayers(); // search the player with a bye last round List<TournamentPlayer> playerWithByes = getTournamentPlayersWithBye(roundPlayers); while (roundPlayers.size() > 1) { TournamentPlayer player1 = getNextAvailablePlayer(roundPlayers, playerWithByes); TournamentPlayer player2 = getNextAvailablePlayer(roundPlayers, playerWithByes); round.addPairing(new TournamentPairing(player1, player2)); } if (!roundPlayers.isEmpty()) { // player free round - add to bye players of this round TournamentPlayer player1 = roundPlayers.get(0); round.getPlayerByes().add(player1); player1.setState(TournamentPlayerState.WAITING); player1.setStateInfo("Round Bye"); updateResults(); } return round; }
private void checkPlayersState() { for (TournamentPlayer tournamentPlayer : tournament.getPlayers()) { if (!tournamentPlayer.isEliminated() && tournamentPlayer.getPlayer().isHuman()) { if (tournamentSessions.containsKey(tournamentPlayer.getPlayer().getId())) { if (tournamentSessions.get(tournamentPlayer.getPlayer().getId()).isKilled()) { tournamentPlayer.setEliminated(); tournamentPlayer.setStateInfo("disconnected"); } } else { tournamentPlayer.setEliminated(); tournamentPlayer.setStateInfo("no tournament session"); } } } }
TournamentPlayer tournamentPlayer = table.getTournament().getPlayer(mPlayer.getPlayer().getId()); if (tournamentPlayer != null) { tournamentPlayer.setStateInfo(""); // reset sideboarding state
playerBye.setState(TournamentPlayerState.WAITING); playerBye.setStateInfo("Round Bye"); updateResults();
private void sideboard() { table.sideboard(); setupTimeout(Match.SIDEBOARD_TIME); if (table.isTournamentSubTable()) { for (MatchPlayer matchPlayer : match.getPlayers()) { if (!matchPlayer.hasQuit()) { TournamentPlayer tournamentPlayer = table.getTournament().getPlayer(matchPlayer.getPlayer().getId()); if (tournamentPlayer != null) { tournamentPlayer.setStateInfo("sideboarding"); } } } } match.sideboard(); cancelTimeout(); if (table.isTournamentSubTable()) { for (MatchPlayer matchPlayer : match.getPlayers()) { TournamentPlayer tournamentPlayer = table.getTournament().getPlayer(matchPlayer.getPlayer().getId()); if (tournamentPlayer != null && tournamentPlayer.getStateInfo().equals("sideboarding")) { tournamentPlayer.setStateInfo(""); } } } }
player.setResults(""); player.setPoints(0); player.setStateInfo("");