public EastFacingMover( BoundedPosition boundedPosition, FacingTracker facingTracker) { _boundedPosition = boundedPosition; _facingTracker = facingTracker; }
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))); }
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) }, }; }
public static MarsRover Place( Direction initialDirection, BoundedPosition boundedPosition) { return(new MarsRover(initialDirection, boundedPosition)); }