예제 #1
0
        public void Init(Point point, int nestLevel = 0)
        {
            Point   = point.GetNewPosition(Direction);
            Element = Global.Board.GetAt(Point);

            WallsNearCount = Global.Board.CountNear(Point, Element.WALL);

            IsFutureBlast              = Global.Blasts.IsFutureBlast(Point);
            IsFutureBlastNextStep      = Global.Blasts.IsFutureBlastNextStep(Point);
            IsBonusFutureBlastNextStep = Global.Blasts.IsBonusFutureBlastNextStep(Point);
            IsMyFutureBlastToIgnore    = Global.Blasts.IsMyFutureBlastToIgnore(Point);

            IsBonusRCBlastNextStep = Global.Blasts.IsBonusRCNextStep(Point);

            IsBomb      = Global.Board.IsAnyOfAt(Point, Constants.BOMB_ELEMENTS) || IsBombChopper;
            NearChopper = Global.Choppers.Get(Point);

            InitSidePoints();

            if (nestLevel < Config.NearNestLevel)
            {
                NextNearPoint = new NearPoint(Direction);
                NextNearPoint.Init(Point, nestLevel + 1);
            }
        }
예제 #2
0
        private string RatingStr(NearPoint nearPoint)
        {
            if (nearPoint.IsCriticalDanger)
            {
                return($"*{nearPoint.Rating,2}*");
            }

            if (nearPoint.IsMyFutureBlastToIgnore)
            {
                return($"^{nearPoint.Rating,2}^");
            }

            return($" {nearPoint.Rating,2} ");
        }