コード例 #1
0
        private static IDrone DeliverOrder(IDeliverySettings deliverySettings, IDrone drone, IRoute route)
        {
            var baseDrone = drone;
            var newDrone  = drone.Deliver(route);

            if (IsOutOfReach(deliverySettings, newDrone.Position))
            {
                return(baseDrone);
            }
            return(newDrone);
        }
コード例 #2
0
 private static bool IsOutOfReach(IDeliverySettings deliverySettings, IPosition position)
 {
     return(deliverySettings.MaxBlocksToDeliver < System.Math.Abs(position.Xaxis) ||
            deliverySettings.MaxBlocksToDeliver < System.Math.Abs(position.Yaxis));
 }
コード例 #3
0
 public DroneService(IDeliverySettings deliverySettings)
 {
     _deliverySettings = deliverySettings;
 }