public object Post([FromBody] MarsRoverModel model) { var roverList = new List <Rover>(); foreach (var roverItem in model.Rovers) { var plateau = _roverService.DrawPlateau(model.Plateau); var rover = _roverService.SetRoverOnPlateau(model.Plateau, new DeploymentPoint(roverItem.DeploymentPoint.Direction.ToString()) { X = roverItem.DeploymentPoint.X, Y = roverItem.DeploymentPoint.Y }); var movements = roverItem.Movement .ToCharArray() .Select(x => Enum.Parse <MovingAbility>(x.ToString())) .ToList(); rover.Movement.MovementList = movements; roverList.Add(_roverService.CalculateRoverMovement(rover, plateau)); } return(roverList.Select(x => new DeploymentPointModel() { X = x.DeploymentPoint.X, Y = x.DeploymentPoint.Y, Direction = x.DeploymentPoint.Direction.ToString() })); }
public MarsRover(MarsRoverModel model, IGrid grid) { InitialPosition = new Position { X = model.X, Y = model.Y, Z = model.Z }; LastPosition = new Position { X = model.X, Y = model.Y, Z = model.Z }; Instructions = model.Instructions; Grid = grid; Status = true; }
public SendCommand(MarsRoverModel vm) { VM = vm; }
public GetHistoryCommand(MarsRoverModel vm) { VM = vm; }
public SetupRoverCommand(MarsRoverModel vm) { VM = vm; }
public SetupPlateauCommand(MarsRoverModel vm) { VM = vm; }
public ArrowButtonCommand(MarsRoverModel vm) { VM = vm; }