Package mage.players

Examples of mage.players.Player


  }

  @Override
  public boolean apply(Game game, Ability source) {
    Watcher watcher = game.getState().getWatchers().get(source.getControllerId(), "LandPlayed");
    Player player = game.getPlayer(source.getTargets().get(0).getFirstTarget());
    Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
    if (watcher != null && watcher.conditionMet()) {
      if (player != null) {
        player.damage(3, source.getId(), game, false, true);
      }
      if (creature != null) {
        creature.damage(3, source.getId(), game, true, false);
      }
    }
    else {
      if (player != null) {
        player.damage(1, source.getId(), game, false, true);
      }
      if (creature != null) {
        creature.damage(1, source.getId(), game, true, false);
      }
    }
View Full Code Here


    super(effect);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    player.drawCards(2, game);
    if (player.getHand().size() > 0) {
      TargetCard target = new TargetCard(Zone.HAND, filter);
      target.setRequired(true);
      player.choose(player.getHand(), target, game);
      Card card = player.getHand().get(target.getFirstTarget(), game);
      if (card != null) {
        player.removeFromHand(card, game);
        card.moveToZone(Zone.LIBRARY, source.getId(), game, true);
        player.getLibrary().shuffle();
        return true;
      }
    }
    return true;
  }
View Full Code Here

    return new JaceTheMindSculptorEffect1(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player controller = game.getPlayer(source.getControllerId());
    Player player = game.getPlayer(source.getFirstTarget());
    if (controller != null && player != null) {
      Cards cards = new CardsImpl();
      cards.add(player.getLibrary().getFromTop(game));
      controller.lookAtCards(cards, game);
      if (controller.chooseUse(outcome, "Do you wish to put card on the bottom of player's library?", game)) {
        Card card = player.getLibrary().removeFromTop(game);
        if (card != null) {
          card.moveToZone(Zone.LIBRARY, source.getId(), game, false);
        }
      }
      return true;
View Full Code Here

          Permanent permanent = game.getPermanent(targetId);
          if (permanent != null) {
            permanent.damage(damagePer, source.getSourceId(), game, true, false);
          }
          else {
            Player player = game.getPlayer(targetId);
            if (player != null) {
              player.damage(damagePer, source.getSourceId(), game, false, true);
            }
          }
        }
        return true;
      }
View Full Code Here

    return new JaceTheMindSculptorEffect2(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getControllerId());
    if (player != null) {
      player.drawCards(3, game);
      putOnLibrary(player, source, game);
      putOnLibrary(player, source, game);
      return true;
    }
    return false;
View Full Code Here

    return new JaceTheMindSculptorEffect3(this);
  }

  @Override
  public boolean apply(Game game, Ability source) {
    Player player = game.getPlayer(source.getFirstTarget());
    ExileZone exile = game.getExile().getPermanentExile();
    if (player != null) {
      while (true) {
        if (player.getLibrary().getFromTop(game) == null)
          break;
        Card card = player.getLibrary().removeFromTop(game);
        exile.add(card);
      }
      player.getLibrary().addAll(player.getHand().getCards(game), game);
      player.getLibrary().shuffle();
      player.getHand().clear();
      return true;
    }
    return false;
  }
View Full Code Here

  @Override
  public boolean apply(Game game, Ability source) {
    Card card = game.getCard(source.getSourceId());
    if (card != null) {
      Player player = game.getPlayer(card.getOwnerId());
      if (player != null) {
        if (card.putOntoBattlefield(game, Zone.HAND, source.getId(), player.getId())) {
          game.fireEvent(GameEvent.getEvent(GameEvent.EventType.DISCARDED_CARD, card.getId(), source.getId(), player.getId()));
          return true;
        }
      }
    }
    return false;
View Full Code Here

  }

  private PlayerFactory() {}

  public Player createPlayer(String playerType, String name, Deck deck, RangeOfInfluence range) {
    Player player;
    Constructor<?> con;
    try {
      con = playerTypes.get(playerType).getConstructor(new Class[]{String.class, Deck.class, RangeOfInfluence.class});
      player = (Player)con.newInstance(new Object[] {name, deck, range});
    } catch (Exception ex) {
      logger.log(Level.SEVERE, null, ex);
      return null;
    }
    logger.info("Player created: " + name + "-" + player.getId().toString());
    return player;
  }
View Full Code Here

   */
  protected Game createSimulation(Game game) {
    Game sim = game.copy();

    for (Player copyPlayer: sim.getState().getPlayers().values()) {
      Player origPlayer = game.getState().getPlayers().get(copyPlayer.getId());
      SimulatedPlayer newPlayer = new SimulatedPlayer(copyPlayer.getId(), copyPlayer.getId().equals(playerId));
      newPlayer.restore(origPlayer);
      sim.getState().getPlayers().put(copyPlayer.getId(), newPlayer);
    }
    return sim;
View Full Code Here

  private static final int PERMANENT_FACTOR = Config.evaluatorPermanentFactor;
  private static final int CREATURE_FACTOR = Config.evaluatorCreatureFactor;
  private static final int HAND_FACTOR = Config.evaluatorHandFactor;

  public static int evaluate(UUID playerId, Game game) {
    Player player = game.getPlayer(playerId);
    Player opponent = game.getPlayer(game.getOpponents(playerId).iterator().next());
    if (game.isGameOver()) {
      if (player.hasLost() || opponent.hasWon())
        return Integer.MIN_VALUE;
      if (opponent.hasLost() || player.hasWon())
        return Integer.MAX_VALUE;
    }
    int lifeScore = (player.getLife() - opponent.getLife()) * LIFE_FACTOR;
    int permanentScore = 0;
    for (Permanent permanent: game.getBattlefield().getAllActivePermanents(playerId)) {
      permanentScore += evaluatePermanent(permanent, game);
    }
    for (Permanent permanent: game.getBattlefield().getAllActivePermanents(opponent.getId())) {
      permanentScore -= evaluatePermanent(permanent, game);
    }
    permanentScore *= PERMANENT_FACTOR;

    int handScore = 0;
    handScore = 7 - opponent.getHand().size();
    handScore += Math.min(7, player.getHand().size());
    handScore *= HAND_FACTOR;

    int score = lifeScore + permanentScore + handScore;
    if (logger.isLoggable(Level.FINE))
View Full Code Here

TOP

Related Classes of mage.players.Player

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.