public static int TraverseSlope(IEnumerable <string> map, Slope slope) { var xPos = 0; for (int i = 0; i < map.Count(); i += slope.StepsDown) { var current = map.ElementAt(i); var currentChar = current.ToCharArray()[xPos % current.Length]; if (currentChar == '#') { slope.AddTree(); } xPos += slope.StepsRight; } return(slope.NumberOfTrees); }