private UUID getNextPlayerInDirection(boolean left, PlayerList playerList, Game game) { UUID nextPlayerId; if (left) { nextPlayerId = playerList.getNext(); } else { nextPlayerId = playerList.getPrevious(); } return nextPlayerId; } }
private UUID getNextPlayerInDirection(boolean left, PlayerList playerList, Game game) { UUID nextPlayerId; if (left) { nextPlayerId = playerList.getNext(); } else { nextPlayerId = playerList.getPrevious(); } return nextPlayerId; } }
private UUID getNextPlayerInDirection(boolean left, PlayerList playerList, Game game) { UUID nextPlayerId; if (left) { nextPlayerId = playerList.getNext(); } else { nextPlayerId = playerList.getPrevious(); } return nextPlayerId; } }
private UUID getNextPlayerInDirection(boolean left, PlayerList playerList) { UUID nextPlayerId; if (left) { nextPlayerId = playerList.getNext(); } else { nextPlayerId = playerList.getPrevious(); } return nextPlayerId; } }
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); } } }
@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); } } }
@Override public boolean apply(Game game, Ability source) { PlayerLostLifeWatcher watcher = game.getState().getWatcher(PlayerLostLifeWatcher.class); PlayerList playerList = game.getState().getPlayerList().copy(); Player currentPlayer; UUID sourcePlayerId = source.getControllerId(); Player firstPlayer; if (playerList == null) { return false; } firstPlayer = playerList.getCurrent(game); currentPlayer = playerList.getNext(game); while (watcher != null && currentPlayer != null) { if (!Objects.equals(currentPlayer.getId(), sourcePlayerId) && watcher.getLifeLost(currentPlayer.getId()) > 0) { return true; } if (Objects.equals(currentPlayer, firstPlayer)) { return false; } currentPlayer = playerList.getNext(game); } return false; }
@Override public boolean apply(Game game, Ability source) { PlayerList playerList = game.getPlayerList().copy(); playerList.setCurrent(game.getActivePlayerId()); Player player = game.getPlayer(game.getActivePlayerId()); do { processPlayer(game, source, player); player = playerList.getNext(game); } while (!player.getId().equals(game.getActivePlayerId())); return true; }
break; playerByOrder = playerList.getNext(this); state.setPlayerByOrderId(playerByOrder.getId());
players = game.getState().getPlayerList(attackingPlayerId); while (attackingPlayer.isInGame()) { Player opponent = players.getNext(game); if (attackingPlayer.hasOpponent(opponent.getId(), game)) { attackablePlayers.add(opponent.getId());
protected int simulateCounterAttack(Game game, SimulationNode node, int alpha, int beta) { if (Thread.interrupted()) { Thread.currentThread().interrupt(); logger.debug(indent(node.depth) + "interrupted"); return GameStateEvaluator.evaluate(playerId, game); } Integer val = null; if (!game.checkIfGameIsOver()) { logger.debug(indent(node.depth) + "simulating -- ending turn"); simulateToEnd(game); game.getState().setActivePlayerId(game.getState().getPlayerList(game.getActivePlayerId()).getNext()); logger.debug(indent(node.depth) + "simulating -- counter attack for player " + game.getPlayer(game.getActivePlayerId()).getName()); game.getTurn().setPhase(new BeginningPhase()); if (game.getPhase().beginPhase(game, game.getActivePlayerId())) { simulateStep(game, new UntapStep()); simulateStep(game, new UpkeepStep()); simulateStep(game, new DrawStep()); game.getPhase().endPhase(game, game.getActivePlayerId()); } //TODO: calculate opponent actions before combat val = simulateCombat(game, node, alpha, beta, true); if (logger.isDebugEnabled()) logger.debug(indent(node.depth) + "returning -- counter attack score: " + val + " depth:" + node.depth + " for player:" + game.getPlayer(node.getPlayerId()).getName()); } if (val == null) val = GameStateEvaluator.evaluate(playerId, game); return val; }
@Override public boolean apply(Game game, Ability source) { List<Permanent> permanents = new ArrayList<>(); Target target = new TargetNonlandPermanent(); target.setNotTarget(false); PlayerList playerList = game.getPlayerList().copy(); playerList.setCurrent(game.getActivePlayerId()); Player player = game.getPlayer(game.getActivePlayerId()); do { target.clearChosen(); if (player != null && player.chooseTarget(outcome, target, source, game)) { Permanent permanent = game.getPermanent(target.getFirstTarget()); if (permanent != null) { permanents.add(permanent); game.informPlayers(player.getLogName() + " chooses " + permanent.getName()); } } player = playerList.getNext(game); } while (!player.getId().equals(game.getActivePlayerId())); for (Permanent permanent: permanents) { permanent.addCounters(CounterType.DOOM.createInstance(), source, game); } return true; } }
PlayerList playerList = game.getState().getPlayerList(event.getPlayerId()); if (allowedDirection.equals(MysticBarrier.ALLOW_ATTACKING_LEFT)) { if (!playerList.getNext().equals(defender.getId())) {
player = playerList.getNext(game); } while (!player.getId().equals(game.getActivePlayerId()));
@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()); }
player = playerList.getNext(game);