Beispiel #1
0
        public int GetPointMinBlastTicks(Point point)
        {
            var pointBlastsWithTicks = AllBlasts
                                       .Where(x => x.Point.X == point.X && x.Point.Y == point.Y && x.TicksLeft.HasValue).ToList();

            if (!pointBlastsWithTicks.Any())
            {
                return(-1);
            }

            return(pointBlastsWithTicks.Min(x => x.TicksLeft.Value));
        }
Beispiel #2
0
        public void Init()
        {
            AllBlasts.Clear();

            var myBombs      = Global.Me.MyBombs;
            var myBombPoints = myBombs.GetPoints();

            foreach (var myBomb in myBombs)
            {
                var blastPoints = Global.Board.GetFutureBlastsForBombs(myBomb);

                foreach (var blastPoint in blastPoints)
                {
                    var blast = new Blast(myBomb, blastPoint, true, false);

                    AllBlasts.Add(blast);
                }
            }

            var allBombPoints = Global.Board.GetBombs();

            var enemyBombPoints = allBombPoints.Where(x => !myBombPoints.Contains(x)).ToList();

            foreach (var enemyBombPoint in enemyBombPoints)
            {
                var enemyBomb = new Bomb(enemyBombPoint);

                var blastPoints = Global.Board.GetFutureBlastsForBombs(enemyBombPoint);

                foreach (var blastPoint in blastPoints)
                {
                    var blast = new Blast(enemyBomb, blastPoint, false, false);

                    AllBlasts.Add(blast);
                }

                var bonusBombPower      = Config.BombsDefaultPower + Config.BonusBlastIncrease;
                var bonusBlastPointsAll = Global.Board.GetFutureBlastsForBombs(enemyBombPoint, bonusBombPower);
                var bonusBlastPoints    = bonusBlastPointsAll.Where(x => !blastPoints.Contains(x)).ToList();

                foreach (var bonusBlastPoint in bonusBlastPoints)
                {
                    var blast = new Blast(enemyBomb, bonusBlastPoint, false, true);

                    AllBlasts.Add(blast);
                }
            }
        }
Beispiel #3
0
 public List <Blast> GetMyBlasts()
 {
     return(AllBlasts.Where(x => x.IsMy).ToList());
 }
Beispiel #4
0
        public bool IsMyFutureBlastToIgnore(Point point)
        {
            var pointBlasts = AllBlasts.Where(x => x.Point.Equals(point)).ToList();

            return(pointBlasts.Count() == 1 && pointBlasts[0].IsMyToIgnore);
        }
Beispiel #5
0
 public bool IsBonusRCNextStep(Point point)
 {
     return(AllBlasts.Any(x => x.IsRC && x.IsBonus && x.IsEnemy && x.Point.Equals(point)));
 }
Beispiel #6
0
 public bool IsBonusFutureBlastNextStep(Point point)
 {
     return(AllBlasts.Any(x => x.IsEnemyBonusNextStep && x.Point.Equals(point)));
 }
Beispiel #7
0
 public bool IsFutureBlast(Point point)
 {
     return(AllBlasts.Any(x => x.Point.Equals(point)));
 }