public MarsRoverManager(MarsRoverPositionModel marsRoverPosition, UpperRightCoordinateModel upperRightCoordinate) { currentHeadIndex = FindHeadIndex(marsRoverPosition.Head); x = marsRoverPosition.X; y = marsRoverPosition.Y; xMax = upperRightCoordinate.X; yMax = upperRightCoordinate.Y; }
static void Main(string[] args) { ConsoleInputManager inputManager = new ConsoleInputManager(); UpperRightCoordinateModel upperRightCoordinate = inputManager.Get <UpperRightCoordinateModel>(new UpperRightInputMessage(), new UpperRightInputValidation(), new UpperRightInputParser()); MarsRoverPositionModel marsRoverPosition = inputManager.Get <MarsRoverPositionModel>(new MarsRoverPositionInputMessage(), new MarsRoverPositionInputValidation(), new MarsRoverPositionInputParser()); List <char> roverInstructions = inputManager.Get <List <char> >(new RoverInstructionInputMessage(), new RoverInstructionInputValidation(), new RoverInstructionInputParser()); MarsRoverManager MarsRoverManager = new MarsRoverManager(marsRoverPosition, upperRightCoordinate); var result = MarsRoverManager.Run(roverInstructions); Console.WriteLine(result.ToString()); Console.ReadLine(); }