public void submitDeck(Deck deck) { this.deck = deck; // Check if player manipulated available cards??? this.doneConstructing = true; this.setState(TournamentPlayerState.WAITING); }
public void setQuit(String info, TourneyQuitStatus status) { setEliminated(); this.setState(TournamentPlayerState.CANCELED); this.setStateInfo(info); this.quit = true; this.doneConstructing = true; this.quitStatus = status; }
public void setConstructing() { this.setState(TournamentPlayerState.CONSTRUCTING); this.doneConstructing = false; }
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; }
public void setEliminated() { this.setDisconnectInfo(""); this.setState(TournamentPlayerState.ELIMINATED); this.eliminated = true; }
private void construct(UUID playerId, int timeout) throws MageException { if (tournamentSessions.containsKey(playerId)) { TournamentSession tournamentSession = tournamentSessions.get(playerId); tournamentSession.construct(timeout); getPlayerUserId(playerId).ifPresent(userId -> { UserManager.instance.getUser(userId).ifPresent(user -> { user.addConstructing(playerId, tournamentSession); TournamentPlayer player = tournament.getPlayer(playerId); player.setState(TournamentPlayerState.CONSTRUCTING); }); }); } }
if (tp1.getState() == TournamentPlayerState.DUELING) { if (round.getRoundNumber() == getNumberRounds()) { tp1.setState(TournamentPlayerState.FINISHED); } else { tp1.setState(TournamentPlayerState.WAITING); tp2.setState(TournamentPlayerState.FINISHED); } else { tp2.setState(TournamentPlayerState.WAITING);
public void finishPlayersThatPlayedLastRound() { if (match != null && match.hasEnded()) { if (!player1.isEliminated()) { player1.setEliminated(); player1.setState(TournamentPlayerState.FINISHED); } if (!player2.isEliminated()) { player2.setEliminated(); player2.setState(TournamentPlayerState.FINISHED); } } }
@Override protected void draft() { draft = new RandomBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player: players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(EventType.START_DRAFT, null, draft); } }
protected void draft() { draft = new RichManCubeBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player : players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(EventType.START_DRAFT, null, draft); }
protected void draft() { draft = new BoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player: players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(TableEvent.EventType.START_DRAFT, null, draft); }
protected void draft() { draft = new RichManBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player : players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(EventType.START_DRAFT, null, draft); }
protected void draft() { draft = new BoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player: players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(EventType.START_DRAFT, null, draft); }
@Override protected void draft() { draft = new RandomBoosterDraft((DraftOptions) options.getLimitedOptions(), getSets()); for (TournamentPlayer player: players.values()) { draft.addPlayer(player.getPlayer()); player.setState(TournamentPlayerState.DRAFTING); } tableEventSource.fireTableEvent(EventType.START_DRAFT, null, draft); } }
public void setStateAtTournamentEnd() { if (this.getState() == TournamentPlayerState.DRAFTING || this.getState() == TournamentPlayerState.CONSTRUCTING || this.getState() == TournamentPlayerState.DUELING || this.getState() == TournamentPlayerState.SIDEBOARDING || this.getState() == TournamentPlayerState.WAITING) { this.setState(TournamentPlayerState.FINISHED); } }
public Deck generateDeck() { // user passed to submit deck in time // all all cards to deck deck.getCards().addAll(deck.getSideboard()); deck.getSideboard().clear(); // add lands to deck int landsPerType = 7; if (deck.getCards().size() >= 90) { landsPerType = 14; } Set<String> landSets = TournamentUtil.getLandSetCodeForDeckSets(deck.getExpansionSetCodes()); deck.getCards().addAll(TournamentUtil.getLands("Mountain", landsPerType, landSets)); deck.getCards().addAll(TournamentUtil.getLands("Plains", landsPerType, landSets)); deck.getCards().addAll(TournamentUtil.getLands("Swamp", landsPerType, landSets)); deck.getCards().addAll(TournamentUtil.getLands("Forest", landsPerType, landSets)); deck.getCards().addAll(TournamentUtil.getLands("Island", landsPerType, landSets)); this.doneConstructing = true; this.setState(TournamentPlayerState.WAITING); return deck; }
public synchronized boolean replaceDraftPlayer(Player oldPlayer, String name, PlayerType playerType, int skill) { Optional<Player> newPlayerOpt = createPlayer(name, playerType, skill); if (!newPlayerOpt.isPresent() || table.getState() != TableState.DRAFTING) { return false; } Player newPlayer = newPlayerOpt.get(); TournamentPlayer oldTournamentPlayer = tournament.getPlayer(oldPlayer.getId()); tournament.removePlayer(oldPlayer.getId()); tournament.addPlayer(newPlayer, playerType); TournamentPlayer newTournamentPlayer = tournament.getPlayer(newPlayer.getId()); newTournamentPlayer.setState(oldTournamentPlayer.getState()); newTournamentPlayer.setReplacedTournamentPlayer(oldTournamentPlayer); DraftManager.instance.getController(table.getId()).ifPresent(controller -> controller.replacePlayer(oldPlayer, newPlayer)); return true; }
private void startMultiplayerMatch(MultiplayerRound round, MatchOptions matchOptions) { try { TableManager tableManager = TableManager.instance; Table table = tableManager.createTable(GamesRoomManager.instance.getMainRoomId(), matchOptions); table.setTournamentSubTable(true); table.setTournament(tournament); table.setState(TableState.WAITING); if (round.getAllPlayers().stream().allMatch(tournamentPlayer -> getPlayerUserId(tournamentPlayer.getPlayer().getId()).isPresent())) { for (TournamentPlayer player : round.getAllPlayers()) { tableManager.addPlayer(getPlayerUserId(player.getPlayer().getId()).get(), table.getId(), player); } table.setState(TableState.STARTING); tableManager.startTournamentSubMatch(null, table.getId()); tableManager.getMatch(table.getId()).ifPresent(match -> { match.setTableId(tableId); round.setMatch(match); round.setTableId(table.getId()); for (TournamentPlayer player : round.getAllPlayers()) { player.setState(TournamentPlayerState.DUELING); } }); } } catch (GameException ex) { logger.fatal("TournamentController startMatch error", ex); } }