Beispiel #1
0
        public DataResult <string> StartPosition()
        {
            foreach (var move in _moves)
            {
                switch (move)
                {
                case 'M':
                    _machine.MoveInSameDirection(_startPositions);
                    break;

                case 'L':
                    _machine.Rotate90Left(_startPositions);
                    break;

                case 'R':
                    _machine.Rotate90Right(_startPositions);
                    break;
                }

                if (_startPositions.X < 0 || _startPositions.X > _maxPoints[0] || _startPositions.Y <0 || _startPositions.Y> _maxPoints[1])
                {
                    return(new DataResult <string>("", false, $"Position limit exceeding ({_startPositions.X} , {_startPositions.Y}) and ({_maxPoints[0]} , {_maxPoints[1]})"));
                }
            }
            string data = _startPositions.X + " " + _startPositions.Y + " " + _startPositions.Direction;;

            return(new DataResult <string>(data, true));
        }