public void FindScaffoldPath(List <Point> validPath, RobotPosition currentPosition) { RobotPosition newPosition = currentPosition; while ((newPosition = newPosition.Move(position => validPath.Contains(position))) != null) { validPath.Remove(newPosition.Position); } newPosition = currentPosition; Console.WriteLine(); while (newPosition != null) { if (newPosition.NextPosition != null) { if (newPosition.Direction != newPosition.NextPosition.Direction) { Console.Write(newPosition.GetTurn()); } Console.Write("1,"); } //Console.SetCursorPosition(newPosition.Position.Y, newPosition.Position.X); //Console.Write(newPosition.Direction); newPosition = newPosition.NextPosition; } }