Пример #1
0
        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()
            }));
        }
Пример #2
0
 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;
 }
Пример #3
0
 public SendCommand(MarsRoverModel vm)
 {
     VM = vm;
 }
Пример #4
0
 public GetHistoryCommand(MarsRoverModel vm)
 {
     VM = vm;
 }
Пример #5
0
 public SetupRoverCommand(MarsRoverModel vm)
 {
     VM = vm;
 }
Пример #6
0
 public SetupPlateauCommand(MarsRoverModel vm)
 {
     VM = vm;
 }
Пример #7
0
 public ArrowButtonCommand(MarsRoverModel vm)
 {
     VM = vm;
 }