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); }
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); }