private void RobotMove(IRobotContact robotContact, IPlateauInfo plateauInfo) { IRobotBehaviour robotBehaviour = new RobotBehaviour(robotContact.robotInfo, plateauInfo); foreach (var directive in robotContact.route) { robotBehaviour.NextMove(directive); } }
public void SetupPlateauAndRobot(IList <string> input, out IPlateauInfo plateauInfo, out List <IRobotContact> robotContacts) { robotContacts = new List <IRobotContact>(); plateauInfo = SetupPlateau(input.First().Trim()); //Arazi değerini aldıktan sonra listeden siliyoruz input.RemoveAt(0); var inputCount = input.Count; for (int i = 0; i < inputCount; i++) { var robotInfo = SetupRobot(input[i].Trim()); string routeInfo = string.Empty; //Robot için rota verilmediyse rota boş string olur routeInfo = i < inputCount - 1 ? SetupRobotRoute(input[++i].Trim().ToUpper()) : ""; robotContacts.Add(new RobotContact { robotInfo = robotInfo, route = routeInfo }); } }
public RobotBehaviour(IRobotInfo robotInfo, IPlateauInfo plateauInfo) { _robotInfo = robotInfo; _plateauInfo = plateauInfo; }