static string[] Test(string[] lines) { List <string> result = new List <string>(); int.TryParse(lines[0].Split(' ')[0], out bound_X); int.TryParse(lines[0].Split(' ')[1], out bound_Y); for (int i = 1; i < lines.Length; i += 2) { int.TryParse(lines[i].Split(' ')[0], out coor_X); int.TryParse(lines[i].Split(' ')[1], out coor_Y); char.TryParse(lines[i].Split(' ')[2], out or); Rover rover = new Rover(bound_X, bound_Y, coor_X, coor_Y, or); for (int j = 0; j < lines[i + 1].Length; j++) { if (lines[i + 1][j] == 'L' || lines[i + 1][j] == 'R' || lines[i + 1][j] == 'M') { rover.Control(lines[i + 1][j]); } //else // Console.WriteLine("Wrong command!"); } //if (result.Contains(rover.GetPosition())) // Console.WriteLine("There is another rover at this position!"); Console.WriteLine(rover.GetPosition()); result.Add(rover.GetPosition()); } return(result.ToArray()); }
static void Main(string[] args) { Console.WriteLine("Test Input:"); string grid = Console.ReadLine(); string[] gridArr = grid.Split(" "); int max_X = int.Parse(gridArr[0]); int max_Y = int.Parse(gridArr[1]); StringBuilder builder = new StringBuilder(); builder.AppendLine("Exptected Output: "); for (int k = 1; k <= 2; k++) { Position p1 = new Position(max_X, max_Y); string position1 = Console.ReadLine(); string rotateList1 = Console.ReadLine(); string[] pos1 = position1.Split(" "); p1.CurrentRotation = pos1[2]; p1.X = int.Parse(pos1[0]); p1.Y = int.Parse(pos1[1]); Rover r1 = new Rover(); r1.SetPosition(p1); r1.SetRotateList(rotateList1); r1.StartAction(); Position finalPos = r1.GetPosition(); string result = string.Format("{0} {1} {2}", finalPos.X, finalPos.Y, finalPos.CurrentRotation); builder.AppendLine(result); } Console.WriteLine(builder.ToString()); Console.ReadKey(); }
static void Main(string[] args) { //register our service provider for DI RegisterServices(); _inputValidator = _serviceProvider.GetService <IInputValidator>(); _inputValidator.ValidateBoundaries("5 5"); //Show instruction PrintInstructions(); //get validated grid bounds var grid = GetGridBoundaries(); //we know the data is valid so set the grid data var gridAry = grid.Trim().ToUpper().Split(' '); int max_east = int.Parse(gridAry[0]); int max_north = int.Parse(gridAry[1]); //while (exitLoop.ToUpper() != "EXIT") while (true) { //get validated Landing position and heading string landingPosition = GetLandingPosition(max_east, max_north); //split the input into by space and assign vars var landingAry = landingPosition.Trim().ToUpper().Split(' '); int landing_X = int.Parse(landingAry[0]); int landing_y = int.Parse(landingAry[1]); char landing_z = landingAry[2][0]; //converting from string to char here //get the Drive Instruction string instructions = GetDriveInstructions(); //init the first rover IRover rover = new Rover(landing_X, landing_y, landing_z, max_east, max_north); try { //try to drive it rover.Drive(instructions.ToUpper()); } catch (InvalidOperationException e) { Console.WriteLine(e.Message); } Console.WriteLine(); Console.WriteLine("*** ROVER'S FINAL POSITION ***"); Console.WriteLine(rover.GetPosition()); Console.WriteLine(); Console.WriteLine("INITIALIZING A NEW ROVER"); } }
static void Main(string[] args) { Console.WriteLine("Harita Boyutu: 5X5"); Console.WriteLine("Mevcut Konum: "); Console.WriteLine("0 0 N"); Rover firstRover = new Rover(0, 0, Rover.Direction.N, new Plateau(5, 5)); Console.WriteLine("Yönlendirme Yapınız."); firstRover.Command(Console.ReadLine()); Console.WriteLine(Environment.NewLine); Console.WriteLine("Yeni Konum: "); firstRover.GetPosition(); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("Size of Plateau :"); var plateauSizeCommand = Console.ReadLine(); var inputCommandPlateauSize = Helper.InputCommandPlateauSize(plateauSizeCommand); Plateau.SetPlateau(inputCommandPlateauSize.Width, inputCommandPlateauSize.Height); Console.WriteLine("Rover Position :"); var roverPositionCommand = Console.ReadLine(); var inputCommandRoverPosition = Helper.InputCommandRoverPosition(roverPositionCommand); var rover = new Rover(inputCommandRoverPosition.PositionX, inputCommandRoverPosition.PositionY, inputCommandRoverPosition.Direction); Console.WriteLine("Command :"); var command = Console.ReadLine(); rover.Drive(command); rover.GetPosition(); Console.ReadLine(); }