public EastFacingMover(
     BoundedPosition boundedPosition,
     FacingTracker facingTracker)
 {
     _boundedPosition = boundedPosition;
     _facingTracker   = facingTracker;
 }
Exemplo n.º 2
0
 private static void CreateNxMGrid_And_PlaceRover(Direction direction, int positionX, int positionY, int sizeX, int sizeY)
 {
     Rover = MarsRover.Place(
         direction,
         BoundedPosition.Create(
             Bounds.Create(sizeX, sizeY),
             Position.SepecificCoord(positionX, positionY)));
 }
Exemplo n.º 3
0
        MarsRover(
            Direction initialDirection,
            BoundedPosition boundedPosition)
        {
            _facingTracker   = FacingTracker.SetDirection(initialDirection);
            _boundedPosition = boundedPosition;

            _movers = new Dictionary <Direction, ISpecificDirectionMover>
            {
                { Direction.N, new NorthFacingMover(_boundedPosition, _facingTracker) },
                { Direction.S, new SouthFacingMover(_boundedPosition, _facingTracker) },
                { Direction.E, new EastFacingMover(_boundedPosition, _facingTracker) },
                { Direction.W, new WestFacingMover(_boundedPosition, _facingTracker) },
            };
        }
Exemplo n.º 4
0
 public static MarsRover Place(
     Direction initialDirection,
     BoundedPosition boundedPosition)
 {
     return(new MarsRover(initialDirection, boundedPosition));
 }