Beispiel #1
0
        /// <summary>
        /// Try to generate outputs if there are existing inputs
        /// </summary>
        private static void ProcessOutput()
        {
            if (DataContextClass.InputRobots.Any())
            {
                foreach (Robot InputRobot in DataContextClass.InputRobots)
                {
                    _processRobotMovementService.MoveRobot(DataContextClass.MarsGrid, InputRobot);
                    DataContextClass.RobotOutputsSet.Add(new RobotOutput(InputRobot));
                    Console.WriteLine(DataContextClass.ComposeStringOutput(DataContextClass.RobotOutputsSet.Last()));
                }
            }
            else
            {
                Console.WriteLine(Resources.ResourceFiles.ConsoleMessages.NoInputsToProcess);
            }

            DataContextClass.InitializeConditions();
            Console.WriteLine("\r");
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            InitializeServices();

            string line;

            while (true)
            {
                Console.WriteLine(Resources.ResourceFiles.ConsoleMessages.ReadyMessage);
                Console.WriteLine("\r");

                //read console input while it´s not an empty line
                while (!string.IsNullOrEmpty(line = Console.ReadLine()))
                {
                    if (DataContextClass.IsGridInputLine())
                    {
                        ReadGridInputLine(line);
                        continue;
                    }

                    if (DataContextClass.IsRobotPositionInputLine())
                    {
                        ReadRobotPositionInputLine(line);
                        continue;
                    }

                    if (DataContextClass.IsRobotInstructionsInputLine())
                    {
                        ReadRobotInstructionsInputLine(line);
                        continue;
                    }
                }

                //If input line is an empty line try to process output
                ProcessOutput();
            }
        }