public RobotPosition MoveOnePointFrom(RobotPosition position) { var location = position.Location; switch (position.Heading) { case Heading.North: location.Y += 1; break; case Heading.East: location.X += 1; break; case Heading.South: location.Y -= 1; break; default: location.X -= 1; break; } position.Location = AdjustPositionIfNeeded(location); return(position); }
public bool IsPositionWithinBoundaries(RobotPosition position) { return(position.Location.X <= arenaSize.Width && position.Location.X >= 0 && position.Location.Y <= arenaSize.Height && position.Location.Y >= 0); }