示例#1
0
文件: Rater3.cs 项目: madddmax/jackal
        private double MoveToGoldCornersDistanceCoef(Position gold)
        {
            var minSumDist = MapCorners.Min(c => Math.Abs(gold.X - c.X) + Math.Abs(gold.Y - c.Y));

            if (minSumDist <= 4)
            {
                return(1.1);
            }

            return(1);
        }
示例#2
0
文件: Rater3.cs 项目: madddmax/jackal
        private double MoveToUnknownCornersDistanceCoef(Position unknown)
        {
            //var firstPartOfGame = Board.AllTiles(t => t.Type == TileType.Unknown).Count() < ((121 - 37)/3);
            var goodCorners = MapCorners.Where(c => AllEnemyShips.Min(s => Distance(s.Position, c) > 4)).ToList();
            var minSumDist  = goodCorners.Min(c => Math.Abs(unknown.X - c.X) + Math.Abs(unknown.Y - c.Y));

            if (minSumDist <= 4)
            {
                return(1.2);
            }

            return(1);
        }