private int DifferentTypes(Intersection inter, IBoard board) { return inter.ToArray().Select(i => board.GetTile(i).Terrain).Where(t => t != Terrain.Water && t != Terrain.Desert).Distinct().Count(); }