public static IEnumerable <MapCoordinate> NeighboursWithinDistance(this MapCoordinate origo, int manhattanDistance) { if (manhattanDistance <= 0) { throw new ArgumentOutOfRangeException(nameof(manhattanDistance)); } for (var i = 1; i <= manhattanDistance; i++) { foreach (var coordinate in origo.NeighboursOfDistance(i)) { yield return(coordinate); } } }
public static IEnumerable <MapCoordinate> Neighbours(this MapCoordinate mapCoordinate) { return(mapCoordinate.NeighboursOfDistance(1)); }