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();
 }
Esempio n. 2
0
 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;
 }