/// <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"); }
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(); } }