/// <summary>Gets the regions that are enermies for the owner excluding neutral.</summary>
 public static IEnumerable <Region> GetRegionsForPlayerWithEnermies(this IEnumerable <Region> regions, PlayerType owner, MapState state)
 {
     return(regions.Where(region =>
                          state.HasOwner(region, owner) &&
                          region.Neighbors
                          .Any(neighbor =>
                               state.Owner(neighbor) != PlayerType.neutral &&
                               !state.HasOwner(neighbor, owner))));
 }
 /// <summary>Gets the attacking force of the regions.</summary>
 public static int AttackingForce(this IEnumerable <Region> regions, MapState state)
 {
     return(regions
            .Where(region => state.Owner(region) != PlayerType.neutral)
            .Sum(region => state.Armies(region) - 1));
 }
 /// <summary>Gets the regions that are enermies for the owner excluding neutral.</summary>
 public static IEnumerable <Region> GetEnemriesForPlayer(this IEnumerable <Region> regions, PlayerType owner, MapState state)
 {
     return(regions.Where(region => state.Owner(region) != PlayerType.neutral && !state.HasOwner(region, owner)));
 }