public static int lifeThatWouldRemain(Combat combat) {

        int damage = 0;

        CardList attackers = combat.sortAttackerByDefender()[0];
        CardList unblocked = new CardList();

        for (Card attacker : attackers) {

            CardList blockers = combat.getBlockers(attacker);

            if (blockers.size() == 0) unblocked.add(attacker);
            else if (attacker.hasKeyword("Trample") && getAttack(attacker) > CombatUtil.totalShieldDamage(attacker, blockers)) {
                if (!attacker.hasKeyword("Infect"))
                    damage += getAttack(attacker) - CombatUtil.totalShieldDamage(attacker, blockers);
            }
        }

        damage += sumDamageIfUnblocked(unblocked, AllZone.getComputerPlayer());

        if (!AllZone.getComputerPlayer().canLoseLife()) damage = 0;

        return AllZone.getComputerPlayer().getLife() - damage;
    }