예제 #1
0
        private Board BuildBoard(string command)
        {
            var boardParameters = command.Split(' ');
            var height          = CoordinatesValidator.Parse(boardParameters[1]) + 1;
            var width           = CoordinatesValidator.Parse(boardParameters[0]) + 1;

            return(new Board(height, width));
        }
예제 #2
0
        public Robot BuildRobot(string command)
        {
            var robotParameters = command.Split(' ');
            var positionX       = CoordinatesValidator.Parse(robotParameters[0]);
            var positionY       = CoordinatesValidator.Parse(robotParameters[1]);
            var orientation     = robotParameters[2];

            var cardinalEngine = Cardinal.GetAllCardinalEngines().FirstOrDefault(carEngine => carEngine.CardinalDirection == orientation);

            if (cardinalEngine == null)
            {
                throw new IllegalInputException("Incorrect robot position command it should have following format: 1 2 N");
            }

            return(new Robot(new Position(positionX, positionY), cardinalEngine));
        }