public void AddRide(Ride ride)
        {
            int travelDistance = ride.distance + ((ride.Start.X - Position.X) + (ride.Start.Y - Position.Y));

            movesRemaining -= travelDistance;
            Rides.Add(ride);
        }
Beispiel #2
0
        public void ComputeNextPosition()
        {
            if (TargetPosition == null)
            {
                return;
            }

            var item1 = CurrentPosition.Item1;
            var item2 = CurrentPosition.Item2;

            if (Math.Abs(TargetPosition.Item1 - CurrentPosition.Item1) > 0)
            {
                item1 += (TargetPosition.Item1 < CurrentPosition.Item1 ? -1 : 1);
            }
            else if (Math.Abs(TargetPosition.Item2 - CurrentPosition.Item2) > 0)
            {
                item2 += (TargetPosition.Item2 < CurrentPosition.Item2 ? -1 : 1);
            }

            CurrentPosition = new Tuple <long, long>(item1, item2);

            if (!Equals(TargetPosition, CurrentPosition) || CurrentRide == null)
            {
                return;
            }
            Rides.Add(CurrentRide);
            CurrentRide    = null;
            TargetPosition = null;
        }
Beispiel #3
0
 public void Solve(Reader reader, TextWriter writer)
 {
     R            = reader.ReadInt();
     C            = reader.ReadInt();
     VehicleCount = reader.ReadInt();
     RideCount    = reader.ReadInt();
     Bonus        = reader.ReadInt();
     StepCount    = reader.ReadInt();
     for (int i = 0; i < RideCount; i++)
     {
         Rides.Add(i, new Ride(reader, i));
     }
     AllRides.AddRange(Rides.Values);
     Vehicles = new List <Vehicle>(VehicleCount);
     for (int i = 0; i < VehicleCount; i++)
     {
         Vehicles.Add(new Vehicle());
     }
     Mid = new Vec(AllRides.Sum(z => z.StartPos.X) / AllRides.Count, AllRides.Sum(z => z.StartPos.Y) / AllRides.Count);
     if (Path.GetFileNameWithoutExtension(reader.File) != "d_metropolis")
     {
         _minDistanceToMid = int.MaxValue;
     }
     Solve();
     WriteOutput(writer);
     WriteAnalytics(reader.File);
 }
Beispiel #4
0
 public void AddRide(Ride ride)
 {
     if (!Rides.Any())
     {
         Rides = new List <Ride>();
     }
     Rides.Add(ride);
 }
Beispiel #5
0
        public void AddRide(Ride ride)
        {
            int travelDistance = ride.distance + ((ride.Start.X - Position.X) + (ride.Start.Y - Position.Y));

            movesRemaining -= travelDistance;
            Rides.Add(ride);

            NextAvaliablePosition = new Point(ride.Finish);
        }
        public void OnResume()
        {
            if (Packages.Count > 0)
            {
                return;
            }
            var editVM      = (BaseViewModel)_activity.ViewModel;
            var listRide    = _activity.Resources.GetStringArray(Resource.Array.lst_ride);
            var listPackage = _activity.Resources.GetStringArray(Resource.Array.lst_package);
            //country & city
            var listcontries = _activity.Resources.GetStringArray(Resource.Array.lst_country);
            var listcity     = _activity.Resources.GetStringArray(Resource.Array.lst_city);
            int position     = 0;

            foreach (var ride in listRide)
            {
                var itm = new ListItem {
                    DisplayName = ride, Position = position
                };
                itm.ParentSelectionChanged = editVM.WhistleEditViewModel.OnSelectionChanged; //ride selection
                Rides.Add(itm);
                position++;
            }
            position = 0;
            foreach (var p in listPackage)
            {
                var itm = new ListItem {
                    DisplayName = p, Position = position
                };
                itm.ParentSelectionChanged = editVM.WhistleEditViewModel.OnPackageSelectionchanged;
                Packages.Add(itm);
                position++;
            }

            position = 0;
            foreach (var count in listcontries)
            {
                var itm = new ListItem {
                    DisplayName = count, Position = position
                };
                itm.ParentSelectionChanged = editVM.WhistleEditViewModel.OnContrySelectionChanged;
                Countries.Add(itm);
                position++;
            }
            position = 0;
            foreach (var city in listcity)
            {
                var itm = new ListItem {
                    DisplayName = city, Position = position
                };
                itm.ParentSelectionChanged = editVM.WhistleEditViewModel.OnSelectionChanged;
                Cities.Add(itm);
                position++;
            }
        }
Beispiel #7
0
 public void AddRide(Ride ride)
 {
     if (ride.InitialMileage == null)
     {
         throw new InvalidOperationException("Car.InitialMileage is null");
     }
     else
     {
         Rides.Add(ride);
     }
 }
Beispiel #8
0
            public void ApplyRide(Ride r)
            {
                var d = r.DistToStart(CurRow, CurRow);

                CurT += d;
                if (r.StartT < CurT)
                {
                    CurT = r.StartT;
                }

                CurT  += r.Length();
                CurRow = r.FinishRow;
                CurCol = r.FinishCol;

                Rides.Add(r);
            }
Beispiel #9
0
 public void AddRide(Ride ride)
 {
     Rides.Add(ride);
     CurrentPosition = ride.EndPoint;
 }
Beispiel #10
0
 /// <summary>
 /// Adds a ride to the list of rides.
 /// </summary>
 /// <param name="activity">The ride to add.</param>
 public void AddRide(ActivitySummary activity)
 {
     Rides.Add(activity);
 }
        public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            _settings.ShowHamburgerButton = true;
            RideHistories histories = null;

            try
            {
                histories = await _api.GetRideHistories();
            }
            catch (NotLoggedInException)
            {
                var dialog = new MessageDialog("You need to login to access this page.");
                await dialog.ShowAsync();

                NavigationService.Navigate(typeof(Views.SettingsPage), 0);
                return;
            }
            catch (Exception e)
            {
                var dialog = new MessageDialog($"Error: {e.Message}");
                await dialog.ShowAsync();

                NavigationService.Navigate(typeof(Views.MapPage));
                return;
            }

            if (histories == null)
            {
                if (_settings.UserToken == null)
                {
                    var dialog = new MessageDialog("An error occured. Are you logged in?");
                    await dialog.ShowAsync();

                    NavigationService.Navigate(typeof(Views.MapPage));
                    return;
                }
                else
                {
                    var dialog = new MessageDialog("An error occured on Lyfts part. Try again later.");
                    await dialog.ShowAsync();

                    NavigationService.Navigate(typeof(Views.MapPage));
                    return;
                }
            }

            if (histories != null && histories.RideHistory.Any())
            {
                foreach (var ride in histories.RideHistory)
                {
                    RideHistories.Add(ride);

                    if (ride.Status == "droppedOff")
                    {
                        var rideTime = ride.Dropoff.Time - ride.Pickup.Time;

                        var elem = new InactiveRide()
                        {
                            DateAndTime     = ride.RequestedAt.ToString("MMM d - h:mm tt"),
                            Price           = $"{ride.Price.Amount / 100:C}",
                            ProfileImageSrc = new Uri(ride.Driver.ImageUrl),
                            Ride            = $"{ride.RideType.ToString()} \u2022 {rideTime.Minutes}m {rideTime.Seconds}s",
                            RideId          = ride.RideId,
                        };
                        Rides.Add(elem);
                    }
                    else if (ride.Status == "canceled")
                    {
                        var elem = new InactiveRide()
                        {
                            DateAndTime     = ride.RequestedAt.ToString("MMM d - h:mm tt"),
                            Price           = $"{ride.Price?.Amount ?? 0:C}",
                            ProfileImageSrc = new Uri(ride.Driver?.ImageUrl ?? "ms-appx://29Quizlet/Assets/avatar.png"),
                            Ride            = $"{ride.RideType.ToString()} \u2022 cancelled",
                            RideId          = ride.RideId,
                        };

                        Rides.Add(elem);
                    }
                    else
                    {
                        string rideType = "ms-appx://29Quizlet/Assets/Lyft.png";

                        switch (ride.RideType)
                        {
                        case Api.Public.models.LyftRideTypeEnum.Unknown:
                            break;

                        case Api.Public.models.LyftRideTypeEnum.Lyft:
                            break;

                        case Api.Public.models.LyftRideTypeEnum.Plus:
                            rideType = "ms-appx://29Quizlet/Assets/LyftPlus.png";
                            break;

                        case Api.Public.models.LyftRideTypeEnum.Line:
                            rideType = "ms-appx://29Quizlet/Assets/LyftLine.png";
                            break;

                        case Api.Public.models.LyftRideTypeEnum.Premier:
                            rideType = "ms-appx://29Quizlet/Assets/LyftPremier.png";
                            break;

                        default:
                            break;
                        }

                        var elem = new ActiveRide()
                        {
                            RideInProgress   = "This ride is in progress.",
                            RideStatus       = $"Ride is {ride.Status}, click to continue...",
                            RideTypeImageSrc = new BitmapImage(new Uri(rideType)),
                            RideId           = ride.RideId,
                        };

                        Rides.Add(elem);
                    }
                }
            }

            await Task.CompletedTask;
        }