예제 #1
0
        public void GatherInformation()
        {
            if (Analyzer == null)
            {
                Analyzer = new BonusAnalyzer(this);
            }
            else
            {
                Analyzer.Process();
            }

            OpponentVision.Clear();
            var fullMap = BotMap;

            foreach (var r_1 in fullMap.VisibleTerritories.Where(o => IsOpponent(o.OwnerPlayerID)))
            {
                foreach (var neighbor in r_1.Neighbors)
                {
                    if (neighbor.IsVisible && neighbor.OwnerPlayerID == Me.ID)
                    {
                        OpponentVision[neighbor.ID] = neighbor.Armies;
                    }
                }
            }

            CaptureCosts = ConstructCaptureCosts(this);
            Eval         = new EdgePriorityComparator(this, CaptureCosts, Analyzer);
        }
예제 #2
0
 internal BonusComparator(BonusAnalyzer _enclosing)
 {
     this._enclosing = _enclosing;
 }