Britbot
Magic.cs
Go to the documentation of this file.
00001 #region #Usings
00002 
00003 using System;
00004 
00005 #endregion
00006 
00007 namespace Britbot
00008 {
00012     internal static class Magic
00013     {
00014         #region Static Fields & Consts
00015 
00019         public const double VectorTolerance = 0.001;
00020 
00024         public const int NumberOfTimesTillWeLearn = 5;
00025 
00029         internal const int EnemyLocationQueueSize = 4;
00030 
00031         
00032         public const int MaxGroupSize = 4;
00033         public const double EnemyBaseFactor = 1.1;
00034         public const double FriendlyBaseFactor = 3.45;
00035 
00040         public const double DensityBonusCoefficient = 0.2;
00041 
00045         public const bool UseBasicGlobalizing = false;
00046 
00047         public const double HeadingStabilityCoeff = 0.75;
00048         public const double minimumTillItIsOkToDropTarget = 5;
00049         public const int toleranceMargin = 2;
00050 
00054         public const int casualtiesThresholdPercent = 20;
00055 
00059         public static int MaxIterator = 2500;
00060 
00064         public static int MaxJoinDistance = 30;
00065 
00069         public static readonly int SimulationLength = 80;
00070 
00074         public static int CloakRange = 2;
00075 
00079         public static int MaxGroups = int.MaxValue;
00080 
00083         public static double DecisivenessBonus = 0.0;
00084 
00088         public static bool EuclidianHuristic = false;
00089 
00090         #endregion
00091 
00092         #region Fields & Properies
00093 
00096         public static double ScoreConssitencyFactor
00097         {
00098             get
00099             {
00100                 if (Bot.Game.GetTurn() < 600)
00101                 {
00102                     return 0.5;
00103                 }
00104                 return 0.7;
00105             }
00106         }
00107 
00111         public static bool DoConfiguration
00112         {
00113             get { return Bot.Game.GetTurn() % 10 == 1; }
00114         }
00115 
00116         public static int tryAlternate
00117         {
00118             get { return Bot.Game.GetTurn() % 2; }
00119         }
00120 
00124         public static double DangerZone
00125         {
00126             get { return 4 * Bot.Game.GetAttackRadius(); }
00127         }
00128 
00133         public static double EnemyPredictionSensitivity
00134         {
00135             get { return 2 * Math.Sqrt(Bot.Game.GetAttackRadius()); }
00136         }
00137 
00141         public static double ManeuverDistance
00142         {
00143             get { return Math.Sqrt(1.5 * Bot.Game.GetAttackRadius()); }
00144         }
00145 
00150         public static double MaxCalculableDistance
00151         {
00152             get { return Bot.Game.GetCols() + Bot.Game.GetRows(); }
00153         }
00154 
00158         public static double ApproachDistanceSquaredOfStationaryTarget
00159         {
00160             get { return 4 * Bot.Game.GetAttackRadius(); }
00161         }
00162 
00166         public static double GroupIntersectionDistance
00167         {
00168             get { return Bot.Game.GetAttackRadius(); }
00169         }
00170 
00171         public static double MaxEnemyPredictionDistnace
00172         {
00173             get { return ((Bot.Game.GetCols() + Bot.Game.GetRows()) / 2); }
00174         }
00175 
00176         #endregion
00177 
00181         public static void DumpLog()
00182         {
00183             //TODO this
00184         }
00185     }
00186 }