protected void passLeft() { synchronized (players) { UUID startId = table.get(0); UUID currentId = startId; UUID nextId = table.getNext(); DraftPlayer current = players.get(currentId); DraftPlayer next = players.get(nextId); List<Card> currentBooster = current.booster; while (true) { List<Card> nextBooster = next.booster; next.setBooster(currentBooster); if (Objects.equals(nextId, startId)) { break; } currentBooster = nextBooster; nextId = table.getNext(); next = players.get(nextId); } } }
protected void passRight() { synchronized (players) { UUID startId = table.get(0); UUID currentId = startId; UUID prevId = table.getPrevious(); DraftPlayer current = players.get(currentId); DraftPlayer prev = players.get(prevId); List<Card> currentBooster = current.booster; while (true) { List<Card> prevBooster = prev.booster; prev.setBooster(currentBooster); if (Objects.equals(prevId, startId)) { break; } currentBooster = prevBooster; prevId = table.getPrevious(); prev = players.get(prevId); } } }
public Player getCurrent(Game game) { return game.getPlayer(this.get()); }
@Override protected void passLeft() { synchronized (players) { UUID startId = table.get(0); UUID currentId = startId; UUID nextId = table.getNext(); DraftPlayer next = players.get(nextId); while (true) { List<Card> nextBooster = sets.get(cardNum % sets.size()).createBooster(); next.setBooster(nextBooster); if (Objects.equals(nextId, startId)) { break; } nextId = table.getNext(); next = players.get(nextId); } } }
public Player getNextInRange(Player basePlayer, Game game) { UUID currentPlayerBefore = get(); UUID nextPlayerId = super.getNext(); do { if (basePlayer.getInRange().contains(nextPlayerId)) { return game.getPlayer(nextPlayerId); } nextPlayerId = super.getNext(); } while (!nextPlayerId.equals(currentPlayerBefore)); return null; }
@Override protected void passLeft() { synchronized (players) { UUID startId = table.get(0); UUID currentId = startId; UUID nextId = table.getNext();
public Player getPrevious(Game game) { Player player; UUID start = this.get(); while (true) { player = game.getPlayer(super.getPrevious()); if (!player.hasLeft() && !player.hasLost()) { break; } if (player.getId().equals(start)) { return null; } } return player; }
protected void play(UUID nextPlayerId) { if (!isPaused() && !checkIfGameIsOver()) { playerList = state.getPlayerList(nextPlayerId); Player playerByOrder = getPlayer(playerList.get()); state.setPlayerByOrderId(playerByOrder.getId()); while (!isPaused() && !checkIfGameIsOver()) {
UUID currentId = table.get(); if (currentId.equals(oldPlayer.getId())) { currentId = newPlayer.getId();
if (controller != null) { PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId()) && controller.canRespond()) { playerList.getNext(); Player currentPlayer = game.getPlayer(playerList.get()); UUID firstInactivePlayer = null; currentPlayer = game.getPlayer(playerList.get());
protected int minimaxAB(SimulationNode node, int alpha, int beta) { UUID currentPlayerId = node.getGame().getPlayerList().get(); SimulationNode bestChild = null; boolean isSimulatedPlayer = currentPlayerId.equals(playerId);
PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId())) { playerList.getNext(); UUID currentPlayer = playerList.get(); UUID nextPlayer; UUID firstNextPlayer = null; while (!getNextPlayerInDirection(left, playerList, game).equals(firstNextPlayer)) { nextPlayer = playerList.get(); if (nextPlayer == null) { return false;
public Player getNext(Game game) { UUID start = this.get(); if (start == null) { return null; } Player player; while (true) { player = game.getPlayer(super.getNext()); if (!player.hasLeft() && !player.hasLost()) { break; } if (!player.hasReachedNextTurnAfterLeaving()) { player.setReachedNextTurnAfterLeaving(true); } if (player.getId().equals(start)) { return null; } } return player; }
if (controller != null) { PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId()) && controller.canRespond()) { playerList.getNext(); Player currentPlayer = game.getPlayer(playerList.get()); UUID firstInactivePlayer = null; Target target = new TargetCardInHand(filter); currentPlayer = game.getPlayer(playerList.get());
protected int minimaxAB(SimulationNode2 node, int depth, int alpha, int beta) { logger.trace("Sim minimaxAB [" + depth + "] -- a: " + alpha + " b: " + beta + " <" + (node != null ? node.getScore() : "null") + '>'); UUID currentPlayerId = node.getGame().getPlayerList().get(); SimulationNode2 bestChild = null; for (SimulationNode2 child : node.getChildren()) {
PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId()) && controller.canRespond()) { playerList.getNext(); Player currentPlayer = game.getPlayer(playerList.get()); UUID firstInactivePlayer = null; Target target = new TargetCardInHand(filter); currentPlayer = game.getPlayer(playerList.get());
@Override public boolean apply(Game game, Ability source) { PlayerList players = game.getState().getPlayersInRange(source.getControllerId(), game); int count = players.size(); for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterNonlandPermanent(), source.getControllerId(), source.getSourceId(), game)) { ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, true, players.get(RandomUtil.nextInt(count))); effect.setTargetPointer(new FixedTarget(permanent.getId())); game.addEffect(effect, source); permanent.untap(game); } return true; }
if (controller != null) { PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId()) && controller.canRespond()) { playerList.getNext(); Player currentPlayer = game.getPlayer(playerList.get()); UUID firstInactivePlayer = null; Target target = new TargetCardInHand(new FilterPermanentCard()); currentPlayer = game.getPlayer(playerList.get());
PlayerList playerList = game.getState().getPlayerList().copy(); while (!playerList.get().equals(source.getControllerId()) && controller.canRespond()) { playerList.getNext(); Player currentPlayer = game.getPlayer(playerList.get()); Player nextPlayer; UUID firstNextPlayer = null; nextPlayer = game.getPlayer(playerList.get()); if (nextPlayer == null) { return false;
@Override public void resume() { playerList = state.getPlayerList(state.getActivePlayerId()); Player player = getPlayer(playerList.get()); boolean wasPaused = state.isPaused(); state.resume(); if (!checkIfGameIsOver()) { fireInformEvent("Turn " + state.getTurnNum()); if (checkStopOnTurnOption()) { return; } state.getTurn().resumePlay(this, wasPaused); if (!isPaused() && !checkIfGameIsOver()) { endOfTurn(); player = playerList.getNext(this); state.setTurnNum(state.getTurnNum() + 1); } } play(player.getId()); }