public static List<IslandCM> GetNeibourIslands(MapCM map, int islandID) { List<IslandCM> neibours = new List<IslandCM>(); List<Hex> seas = map.GetSeasNearIsland(islandID); for(int i = 0; i < seas.Count; ++i) { List<IslandCM> islands = map.GetNeiborIslandsByMapPos(seas[i]); for (int t = 0; t < islands.Count; ++t) { IslandCM island = islands[t]; if (island.ID != islandID && !neibours.Contains(island)) neibours.Add(island); } } return neibours; }
public static List<NavyUnitCM> GetUselesShips(MapCM map, int playerID) { List<NavyUnitCM> uselesNavy = new List<NavyUnitCM>(); List<NavyUnitCM> playersNavy = map.Navy.Where(e => e.OwnerID == playerID && !map.IsWhereSeaHornByPoint(e.Cell)).ToList(); for (int i = 0; i < playersNavy.Count; ++i) { NavyUnitCM navy = playersNavy[i]; if (map.GetNeiborIslandsByMapPos(navy.Cell).Count < 2) uselesNavy.Add(navy); } return uselesNavy; }