Ejemplo n.º 1
0
        private static ChosenBlockers ImprooveAssignementsByAddingAditionalBlockers(
            IEnumerable <BlockerAssignment> assignments, List <Card> unassignedBlockers)
        {
            foreach (var assignment in assignments.Where(x => !x.IsAttackerKilled))
            {
                if (unassignedBlockers.Count == 0)
                {
                    break;
                }

                assignment.AssignAdditionalBlockers(unassignedBlockers);
            }

            var result = new ChosenBlockers();

            foreach (var assignment in assignments)
            {
                foreach (var blocker in assignment.Blockers)
                {
                    result.Add(blocker, assignment.Attacker);
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        private static ChosenBlockers ImprooveAssignementsByAddingAditionalBlockers(
      IEnumerable<BlockerAssignment> assignments, List<Card> unassignedBlockers)
        {
            foreach (var assignment in assignments.Where(x => !x.IsAttackerKilled))
              {
            if (unassignedBlockers.Count == 0)
              break;

            assignment.AssignAdditionalBlockers(unassignedBlockers);
              }

              var result = new ChosenBlockers();

              foreach (var assignment in assignments)
              {
            foreach (var blocker in assignment.Blockers)
            {
              result.Add(blocker, assignment.Attacker);
            }
              }

              return result;
        }