public Rover Rover(string Values, string Limits) { Rover rov = new Rover(); string[] InitialValues = Values.Split(" "); string[] MaxValues = Limits.Split(" "); if (InitialValues.Length != 3) { Console.WriteLine(Messages.ErrorRoverLocation); } else if (Control(null, InitialValues[0]) == false || Control(null, InitialValues[1]) == false || Control(null, InitialValues[2]) != false) { Console.WriteLine(Messages.ErrorValue); } else if (CheckDirection(InitialValues[2]) == false) { Console.WriteLine(Messages.ErrorInput); } else if (Convert.ToInt32(InitialValues[0]) > Convert.ToInt32(MaxValues[0]) || Convert.ToInt32(InitialValues[1]) > Convert.ToInt32(MaxValues[1])) { Console.WriteLine(Messages.ErrorInput); } else { rov.X = Convert.ToInt32(InitialValues[0]); rov.Y = Convert.ToInt32(InitialValues[1]); rov.Direction = DirectionsConvert.DirectionEnum(Convert.ToChar(InitialValues[2])); } return(rov); }
public Rover TurnRight(Rover rov) { var a = DirectionsConvert.DirectionEnumId(rov.Direction); if (a + 1 > 4) { rov.Direction = DirectionsConvert.DirectionEnum(1); } else { rov.Direction = DirectionsConvert.DirectionEnum(a + 1); } return(rov); }
public Rover TurnLeft(Rover rov) { var a = DirectionsConvert.DirectionEnumId(rov.Direction); if (a - 1 < 1) { rov.Direction = DirectionsConvert.DirectionEnum(4); } else { rov.Direction = DirectionsConvert.DirectionEnum(a - 1); } return(rov); }