private static Position SwitchBalls(Field field) { Console.WriteLine("Source [row column]: "); var source = ParsePosition(Console.ReadLine()); if (source == null) { Console.WriteLine("Wrong format!"); } Console.WriteLine("Destination [row column]: "); var destination = ParsePosition(Console.ReadLine()); if (destination == null) { Console.WriteLine("Wrong format!"); } if (field.PathStrategy.GetPath(source, destination, new bool[field.Height, field.Width]) != null) { field.MoveBall(source, destination); } else { Console.WriteLine("No path"); } return(destination); }