public void FindFairStartingLocations(Map map, BalanceCheckerSettings settings, List<int> fixedStarts, int minimumCapitalDistance) { _MinimumDistanceBetweenCapitals = minimumCapitalDistance; _FixedStarts = fixedStarts; _Map = (Map)map.Clone(); _balanceCheckerSettings = settings; _States = new PrioQueue<MapState, double>(); _States.Enqueue(MapState.FromMap(map), 0); TopResult = null; _FairnessDict = new Dictionary<string, double>(); Start(); }
private BalanceCheckerSettings GetBalanceSettings() { BalanceCheckerSettings settings = new BalanceCheckerSettings(); settings.IncludeWater = chkIncludeWater.IsChecked.Value; settings.IncludeIslands = chkIncludeIslands.IsChecked.Value; settings.TraverseMainlandFirst = chkMainlandFirst.IsChecked.Value; settings.UseTraversalCosts = chkUseTraversalCosts.IsChecked.Value; settings.BaseCost = ParseDouble(txtBaseCost.Text, settings.BaseCost); settings.WaterCost = ParseDouble(txtWaterCost.Text, settings.WaterCost); settings.FoodWeight = ParseDouble(txtFoodWeight.Text, settings.FoodWeight); settings.HammerWeight = ParseDouble(txtHammerWeight.Text, settings.HammerWeight); settings.JunglePenalizer = ParseDouble(txtJunglePenalizer.Text, settings.JunglePenalizer); return settings; }