Exemple #1
0
        private void ValidateInitialPositionAndOrientation(InitialPositionAndOrientation initPosAndOrient)
        {
            bool isPositionValid    = mineRovers.arena.CheckPosition(initPosAndOrient.X, initPosAndOrient.Y);
            bool isOrientationValid = OrientationValidator.checkCharacter(initPosAndOrient.Orientation);

            if (!isPositionValid)
            {
                throw new Exception("Initial position invalid");
            }
            if (!isOrientationValid)
            {
                throw new Exception("Initial orientation invalid");
            }
        }
        public static InitialPositionAndOrientation TranslateInitialPositionAndOrientation(string initPosAndOrient)
        {
            var initPosAndOrientTranslated = new InitialPositionAndOrientation();

            string[] dataChunk = initPosAndOrient.Split(' ');
            bool     xIsValid  = Int32.TryParse(dataChunk[0], out initPosAndOrientTranslated.X);
            bool     yIsValid  = Int32.TryParse(dataChunk[1], out initPosAndOrientTranslated.Y);

            initPosAndOrientTranslated.Orientation = dataChunk[2][0];
            if (!xIsValid || !yIsValid)
            {
                initPosAndOrientTranslated = null;
            }
            return(initPosAndOrientTranslated);
        }