public List <GameOrder> GetOrders() { Debug.Debug.PrintDebugOutputBeginTurn(this); if (NumberOfTurns > 0) { LastVisibleMapUpdater.StoreOpponentDeployment(); } StatelessFogRemover.RemoveFog(); //FogRemover.RemoveFog(); this.HistoryTracker.ReadOpponentDeployment(); this.WorkingMap = this.VisibleMap.GetMapCopy(); DistanceCalculator.CalculateDistanceToBorder(this, this.VisibleMap, this.WorkingMap); DistanceCalculator.CalculateDirectDistanceToOpponentTerritories(this.VisibleMap, this.VisibleMap); DistanceCalculator.CalculateDistanceToOpponentBonuses(this.VisibleMap); DistanceCalculator.CalculateDistanceToOwnBonuses(this.VisibleMap); this.BonusExpansionValueCalculator.ClassifyBonuses(this.VisibleMap, this.VisibleMap); this.TerritoryValueCalculator.CalculateTerritoryValues(this.VisibleMap, this.WorkingMap); foreach (var opp in this.Opponents) { this.OpponentDeploymentGuesser.GuessOpponentDeployment(opp.ID); } this.MovesCalculator.CalculateMoves(); Debug.Debug.PrintDebugOutput(this); Debug.Debug.PrintGuessedDeployment(VisibleMap, this); Debug.Debug.printExpandBonusValues(VisibleMap, this); Debug.Debug.PrintTerritoryValues(VisibleMap, this); Debug.Debug.PrintTerritories(VisibleMap, this); //LastVisibleMap = VisibleMap.GetMapCopy(); return(this.MovesCalculator.CalculatedMoves.Convert()); }
public List <GameOrder> GetOrders() { Debug.Debug.PrintDebugOutputBeginTurn(this); Memory.DeploymentTracker.AddTurn(NumberOfTurns - 1); if (NumberOfTurns > 0) { LastVisibleMapUpdater.StoreOpponentDeployment(); } else if (NumberOfTurns == 0) { Memory.PickTracker.SetConfirmedPicks(this); foreach (TerritoryIDType chosenTerr in Memory.PickTracker.GetChosenPickList()) { foreach (TerritoryIDType enemyTerr in Memory.PickTracker.GetEnemyPickList()) { PathNode final = BasicAlgorithms.Dijkstra.ShortestPath(Memory.PickTracker.pickMap, this.VisibleMap.Territories[chosenTerr], this.VisibleMap.Territories[enemyTerr]); Debug.Debug.PrintPath(this.VisibleMap, final); } } } StatelessFogRemover.RemoveFog(); //FogRemover.RemoveFog(); this.HistoryTracker.ReadOpponentDeployment(); this.WorkingMap = this.VisibleMap.GetMapCopy(); DistanceCalculator.CalculateDistanceToBorder(this, this.VisibleMap, this.WorkingMap); DistanceCalculator.CalculateDirectDistanceToOpponentTerritories(this.VisibleMap, this.VisibleMap); DistanceCalculator.CalculateDistanceToOpponentBonuses(this.VisibleMap); DistanceCalculator.CalculateDistanceToOwnBonuses(this.VisibleMap); this.BonusExpansionValueCalculator.ClassifyBonuses(this.VisibleMap, this.VisibleMap); this.TerritoryValueCalculator.CalculateTerritoryValues(this.VisibleMap, this.WorkingMap); foreach (var opp in this.Opponents) { this.OpponentDeploymentGuesser.GuessOpponentDeployment(opp.ID); } this.MovesCalculator.CalculateMoves(); Debug.Debug.PrintDebugOutput(this); Debug.Debug.PrintGuessedDeployment(VisibleMap, this); Debug.Debug.printExpandBonusValues(VisibleMap, this); Debug.Debug.PrintTerritoryValues(VisibleMap, this); Debug.Debug.PrintTerritories(VisibleMap, this); //LastVisibleMap = VisibleMap.GetMapCopy(); Debug.Debug.PrintFinalOrders(MovesCalculator.CalculatedMoves); return(this.MovesCalculator.CalculatedMoves.Convert()); }