Ejemplo n.º 1
0
  public int evaluate() {
    Map<UUID, Integer> damage = new HashMap<UUID, Integer>();
    int result = 0;
    for (CombatGroupSimulator group : groups) {
      if (!damage.containsKey(group.defenderId)) {
        damage.put(group.defenderId, group.unblockedDamage);
      } else {
        damage.put(group.defenderId, damage.get(group.defenderId) + group.unblockedDamage);
      }
    }
    // check for lethal damage to player
    for (Entry<UUID, Integer> entry : playersLife.entrySet()) {
      if (damage.containsKey(entry.getKey()) && entry.getValue() <= damage.get(entry.getKey())) {
        // TODO:  check for protection
        // NOTE:  not applicable for mulitplayer games
        return Integer.MAX_VALUE;
      }
    }

    for (CombatGroupSimulator group : groups) {
      result += group.evaluateCombat();
    }

    rating = result;
    return result;
  }
Ejemplo n.º 2
0
 public void simulate() {
   for (CombatGroupSimulator group : groups) {
     group.simulateCombat();
   }
 }