示例#1
0
        public MarsRoverManager(MarsRoverPositionModel marsRoverPosition, UpperRightCoordinateModel upperRightCoordinate)
        {
            currentHeadIndex = FindHeadIndex(marsRoverPosition.Head);
            x = marsRoverPosition.X;
            y = marsRoverPosition.Y;

            xMax = upperRightCoordinate.X;
            yMax = upperRightCoordinate.Y;
        }
示例#2
0
        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();
        }