public int evaluate(Permanent creature, Game game) { if (!values.containsKey(creature.getId())) { int value = 0; if (creature.canAttack(null, game)) { value += 2; } value += creature.getPower().getValue(); value += creature.getToughness().getValue(); value += creature.getAbilities().getEvasionAbilities().size(); value += creature.getAbilities().getProtectionAbilities().size(); value += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) ? 1 : 0; value += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()) ? 2 : 0; value += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId()) ? 1 : 0; values.put(creature.getId(), value); } return values.get(creature.getId()); }
public int evaluate(Permanent creature, Game game) { if (!values.containsKey(creature.getId())) { int value = 0; if (creature.canAttack(null, game)) { value += 2; } value += creature.getPower().getValue(); value += creature.getToughness().getValue(); value += creature.getAbilities().getEvasionAbilities().size(); value += creature.getAbilities().getProtectionAbilities().size(); value += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) ? 1 : 0; value += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()) ? 2 : 0; value += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId()) ? 1 : 0; values.put(creature.getId(), value); } return values.get(creature.getId()); }
protected int combatPotential(Permanent creature, Game game) { log.debug("combatPotential"); if (!creature.canAttack(null, game)) { return 0; } int potential = creature.getPower().getValue(); potential += creature.getAbilities().getEvasionAbilities().size(); potential += creature.getAbilities().getProtectionAbilities().size(); potential += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) ? 1 : 0; potential += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()) ? 2 : 0; potential += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId()) ? 1 : 0; return potential; }
public static int evaluateCreature(Permanent creature, Game game) { int value = 0; value += creature.getPower().getValue(); value += creature.getToughness().getValue(); // if (creature.canAttack(game)) // value += creature.getPower().getValue(); // if (!creature.isTapped()) // value += 2; value += creature.getAbilities().getEvasionAbilities().size(); value += creature.getAbilities().getProtectionAbilities().size(); value += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()) ? 1 : 0; value += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()) ? 2 : 0; value += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId()) ? 1 : 0; return value; }