Beispiel #1
0
        public void Move(Player me, World world, Game game, Move move)
        {
            //try
            {
                Initializer.Init(me, world, game, move);

                TacticalActions.NuclearStrike();

                TacticalActions.RunAwayFromNuclearStrike();



                AttackOrDefenceOrOccupy();


                SetupProduction();

                AssignNewGroups();

                Anticollision();

                TacticalActions.FinalSpread();

                Global.ActionQueue.Process();
            }
//            catch (Exception ex)
//            {
//                var exception = ex;
//            }
        }
Beispiel #2
0
 private void AssignNewGroups()
 {
     if (Global.World.TickIndex % 30 == 0)
     {
         TacticalActions.CreateProducedFormation();
     }
 }
Beispiel #3
0
 private void Anticollision()
 {
     if (Global.World.TickIndex > 120 && Global.World.TickIndex % 30 == 0)
     {
         TacticalActions.Anticollision();
     }
 }
Beispiel #4
0
 private void SetupProduction()
 {
     if (Global.World.TickIndex % 10 == 0)
     {
         foreach (var facility in Global.NotMyFacilities)
         {
             facility.InitialTickIndex = Global.World.TickIndex;
         }
         foreach (var facility in Global.MyFacilities)
         {
             TacticalActions.SetupProductionIfNeed(facility);
         }
     }
 }
Beispiel #5
0
        private void AttackOrDefenceOrOccupy()
        {
            if (Global.World.TickIndex % 60 == 0)
            {
                foreach (var formation in Global.MyFormations.Values.Where(f => f.Alive && f.Vehicles.Any()))
                {
                    if (TacticalActions.OccupyFacilities(formation, false))
                    {
                        continue;
                    }

                    if (TacticalActions.Attack(formation))
                    {
                        continue;
                    }
                    var i = 0;
                }
            }
        }
Beispiel #6
0
        private void SetupProduction()
        {
            if (Global.World.TickIndex % 10 == 0)
            {
                var myFightersCount = Global.MyFighters.Vehicles.Count;
                var myHelisCount    = Global.MyHelicopters.Vehicles.Count;

                var enemyFightersCount = Global.EnemyFighters.Count();
                var enemyHeliCount     = Global.EnemyHelicopters.Count();


                if (myFightersCount < enemyFightersCount + enemyHeliCount)
                {
                    neededType = VehicleType.Fighter;
                }
                else if (myHelisCount < enemyHeliCount)
                {
                    neededType = VehicleType.Helicopter;
                }
                else
                {
                    if (Global.World.TickIndex % 1800 == 0)
                    {
                        neededType = VehicleType.Tank;
                    }
                    if (Global.World.TickIndex % 1800 == 600)
                    {
                        neededType = VehicleType.Arrv;
                    }
                    if (Global.World.TickIndex % 1800 == 1200)
                    {
                        neededType = VehicleType.Ifv;
                    }
                }

                foreach (var facility in Global.MyFacilities)
                {
                    TacticalActions.SetupProductionIfNeed(facility, neededType);
                }
            }
        }