public void resetPassed() { for (Player player: this.values()) { player.resetPassed(); } }
/** * Find player by name. * * @param game * @param name * @return */ private static Optional<Player> findPlayer(Game game, String name) { for (Player player : game.getPlayers().values()) { if (player.getName().equals(name)) { return Optional.of(player); } } return Optional.empty(); }
protected void logLife(Game game) { StringBuilder sb = new StringBuilder(); sb.append(game.getTurn().getValue(game.getTurnNum())); for (Player player: game.getPlayers().values()) { sb.append("[player ").append(player.getName()).append(':').append(player.getLife()).append(']'); } logger.info(sb.toString()); }
private void clearAllBookmarks() { if (!simulation) { while (!savedStates.isEmpty()) { savedStates.pop(); } gameStates.remove(0); for (Player player : getPlayers().values()) { player.setStoredBookmark(-1); } } }
protected void endOfTurn() { for (Player player : getPlayers().values()) { player.endOfTurn(this); } state.resetWatchers(); }
@Override public boolean apply(Game game, Ability source) { Players players = game.getPlayers(); for (Player player : players.values()) { if (!player.getId().equals(source.getControllerId())) { player.loseLife(1, game, false); } } return true; }
@Override public void end() { if (!state.isGameOver()) { logger.debug("END of gameId: " + this.getId()); endTime = new Date(); state.endGame(); for (Player player : state.getPlayers().values()) { player.abort(); } } }
@Override public void emptyManaPools() { for (Player player : getPlayers().values()) { player.getManaPool().emptyPool(this); } }
protected boolean allPassed() { for (Player player : state.getPlayers().values()) { if (!player.isPassed() && player.canRespond()) { return false; } } return true; }
public GameController(Game game, ConcurrentHashMap<UUID, UUID> userPlayerMap, UUID tableId, UUID choosingPlayerId, GameOptions gameOptions) { gameSessionId = UUID.randomUUID(); this.userPlayerMap = userPlayerMap; chatId = ChatManager.instance.createChatSession("Game " + game.getId()); this.userReqestingRollback = null; this.game = game; this.game.setSaveGame(ConfigSettings.instance.isSaveGameActivated()); this.tableId = tableId; this.choosingPlayerId = choosingPlayerId; this.gameOptions = gameOptions; useTimeout = game.getPlayers().values().stream().allMatch(Player::isHuman); init(); }
@Override public boolean applies(Permanent permanent, Ability source, Game game) { if (permanent.getId().equals(source.getSourceId())) { for (Player player : game.getPlayers().values()) { if (player != null && player.getHand().isEmpty()) { return false; } } return true; } // don't apply for all other creatures! return false; }
protected boolean allPassed(Game game) { for (Player player: game.getPlayers().values()) { if (!player.isPassed() && !player.hasLost() && !player.hasLeft()) return false; } return true; }
private boolean allJoined() { for (Player player : game.getPlayers().values()) { if (!player.hasLeft()) { Optional<User> user = getUserByPlayerId(player.getId()); if (user.isPresent()) { if (!user.get().isConnected()) { return false; } } if (player.isHuman() && !gameSessions.containsKey(player.getId())) { return false; } } } return true; }
protected void processWatchedHands(UUID userId, GameView gameView) { Map<String, SimpleCardsView> handCards = new HashMap<>(); for (Player player : game.getPlayers().values()) { if (player.hasUserPermissionToSeeHand(userId)) { handCards.put(player.getName(), new SimpleCardsView(player.getHand().getCards(game), true)); gameView.setWatchedHands(handCards); } } }
protected boolean allPassed(Game game) { for (Player player : game.getPlayers().values()) { if (!player.isPassed() && !player.hasLost() && !player.hasLeft()) { return false; } } return true; }
public int simulate(UUID playerId) { // long startTime = System.nanoTime(); Game sim = createSimulation(game, playerId); sim.resume(); // long duration = System.nanoTime() - startTime; int retVal = -1; //anything other than a win is a loss for (Player simPlayer: sim.getPlayers().values()) { // logger.info(simPlayer.getName() + " calculated " + ((SimulatedPlayerMCTS)simPlayer).getActionCount() + " actions in " + duration/1000000000.0 + "s"); if (simPlayer.getId().equals(playerId) && simPlayer.hasWon()) { // logger.info("AI won the simulation"); retVal = 1; } } return retVal; }
private synchronized void updateGame() { if (!timers.isEmpty()) { for (Player player : game.getState().getPlayers().values()) { PriorityTimer timer = timers.get(player.getId()); if (timer != null) { player.setPriorityTimeLeft(timer.getCount()); } } } for (final GameSessionPlayer gameSession : getGameSessions()) { gameSession.update(); } for (final GameSessionWatcher gameWatcher : getGameSessionWatchers()) { gameWatcher.update(); } }
public void applyEffects(Game game) { applyEffectsCounter++; for (Player player : players.values()) { player.reset(); } battlefield.reset(game); combat.reset(game); this.reset(); effects.apply(game); combat.checkForRemoveFromCombat(game); }
@Override public boolean apply(Game game, Ability source) { for(Player player : game.getPlayers().values()) { FilterCreaturePermanent filter = new FilterCreaturePermanent(); filter.add(new ControllerIdPredicate(player.getId())); filter.add(new ColorPredicate(ObjectColor.WHITE)); if(game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) { player.damage(2, source.getSourceId(), game, false, true); } } return true; } }