public void RemoveFarRides(int maxDistance) { Rides = Rides.Where(r => r.GetDistance(new Location() { Columm = 0, Row = 0 }) < maxDistance).ToList(); }
public void RemoveImpossibleRidesStart(int curStep) { Rides = Rides.Where(r => r.IsCurrentlyPossibleFromLocation(curStep, new Location() { Columm = 0, Row = 0 })).ToList(); }
public Ride GetNextRideForC(int curStep, Cart cart) { return(Rides.Where(r => !r.IsInUse).OrderBy(r => r.GetDistance(cart.Location)).FirstOrDefault()); }
public Ride ChooseFirstRide(Cart cart) { return(Rides.Where(r => !r.IsInUse).OrderBy(r => r.RoundedEarliestStart).ThenBy(r => r.StepsRequired).FirstOrDefault()); }
public Ride GetClosestRide(Location location, int curStep) { return(Rides.Where(r => !r.IsInUse && r.IsCurrentlyPossibleFromLocation(curStep, location)).OrderByDescending(r => r.GetDistance(location)).FirstOrDefault()); }
public void RemoveFarRidesAndEarlyLong(int maxSteps, int timeFromEnd) { Rides = Rides.Where(r => r.StepsRequired < maxSteps || Steps - r.LatestFinish < timeFromEnd).ToList(); }
public void RemoveRidesBetween(int steps1, int steps2) { Rides = Rides.Where(r => r.StepsRequired <steps1 || r.StepsRequired> steps2).ToList(); }
public void RemoveLongRides(int maxSteps) { Rides = Rides.Where(r => r.StepsRequired < maxSteps).ToList(); }
public void RemoveImpossibleRides(int curStep) { Rides = Rides.Where(r => r.IsCurrentlyPossible(curStep)).ToList(); }