Beispiel #1
0
 public ActionMouvement(EnnemyShip ship, int delay = 0, int sleep = 0)
 {
     _time        = delay;
     _timePaused  = sleep;
     _initialTime = delay;
     _ship        = ship;
 }
Beispiel #2
0
 public ActionShoot(EnnemyShip ship, Weapon arme, int delay = 0, int sleep = 0)
 {
     _time        = delay;
     _initialTime = delay;
     _timePaused  = sleep;
     _ship        = ship;
     _weapon      = arme;
     Recursive    = true;
 }
Beispiel #3
0
 public ActionFollowPlayer(EnnemyShip ship, Ship playerShip, float laserSpeed = Laser.LASER_SPEED, int minMaxError = 0, int delay = 0, int sleep = 0)
 {
     _time        = delay;
     _timePaused  = sleep;
     _initialTime = delay;
     _ship        = ship;
     _playerShip  = playerShip;
     _laserSpeed  = laserSpeed + _ship.Speed.Length();
     _randMiss    = new Vector2(Utilities.Utilitaire._random.Next(-minMaxError, minMaxError), Utilities.Utilitaire._random.Next(-minMaxError, minMaxError));
 }
Beispiel #4
0
        protected override List <MovingObject> GetIAs(Ship playerShip)
        {
            EnnemyShip          enemyShip;
            ActionMouvement     mouvement;
            ActionShoot         shoot;
            List <MovingObject> retour = new List <MovingObject>();

            for (int i = 150; i < 250; i++)
            {
                enemyShip          = new EnnemyShip(false);
                enemyShip.Position = new Vector2(i * 1 + 500, i * 1 + 500);
                enemyShip.Speed    = new Vector2(0, 13);

                mouvement           = new ActionMouvement(enemyShip, 0, 0);
                mouvement.Recursive = true;
                mouvement.setRotation((float)(i) / 200f);
                Weapon wep = new Weapon(enemyShip, 500);
                shoot             = new ActionShoot(enemyShip, wep, 10, 0);
                shoot.ActOnDegree = true;
                shoot.DegreeToAct = i * 360 / 1000;


                enemyShip.AddAction(mouvement);
                enemyShip.AddAction(shoot);
                if (i % 10 == 0)
                {
                    enemyShip.AddAction(new ActionShoot(enemyShip, new FrostOrb(enemyShip, 4000), 5000, 0));
                }
                else if (i % 5 == 0)
                {
                    enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 1000), 5000, 0));
                }
                retour.Add(enemyShip);
            }
            return(retour);
        }
Beispiel #5
0
        protected override List <MovingObject> GetIAs(Ship playerShip)
        {
            EnnemyShip          enemyShip;
            ActionFollowPlayer  mouvement;
            List <MovingObject> retour = new List <MovingObject>();
            Weapon wep;

            for (int i = 10; i < 100; i++)
            {
                enemyShip          = new EnnemyShip(false);
                enemyShip.Position = new Vector2(10 + i * 30, 100);
                enemyShip.Speed    = new Vector2(3, 0);
                if (i % 5 != 0)
                {//nous visent au 5 sec, tirent aux 2 sec
                    mouvement = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120, 5000);
                }
                else
                {//suivent toujours
                    mouvement = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120);
                }
                mouvement.Recursive = true;
                wep = new Weapon(enemyShip, 500);

                enemyShip.AddAction(mouvement);
                enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 2000), 2000, (int)(2000)));

                retour.Add(enemyShip);
            }
            //Enemis tourrelles*
            enemyShip           = new EnnemyShip(false);
            enemyShip.Position  = new Vector2(100, GetHeight() - 100);
            enemyShip.Speed     = new Vector2(0, 0);
            mouvement           = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120);
            mouvement.Recursive = true;
            wep = new ShotGun(enemyShip, 1500);
            enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip), 1000));
            enemyShip.AddAction(mouvement);
            enemyShip.AddAction(new ActionShoot(enemyShip, wep, 5000));
            retour.Add(enemyShip);
            //tourelle 2
            enemyShip           = new EnnemyShip(false);
            enemyShip.Position  = new Vector2(100, 100);
            enemyShip.Speed     = new Vector2(0, 0);
            mouvement           = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120);
            mouvement.Recursive = true;
            wep = new ShotGun(enemyShip, 1500);
            enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip), 1000));
            enemyShip.AddAction(mouvement);
            enemyShip.AddAction(new ActionShoot(enemyShip, wep, 5000));
            retour.Add(enemyShip);
            //tourelle 3

            enemyShip           = new EnnemyShip(false);
            enemyShip.Position  = new Vector2(GetWidth() - 100, 100);
            enemyShip.Speed     = new Vector2(0, 0);
            mouvement           = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120);
            mouvement.Recursive = true;
            wep = new ShotGun(enemyShip, 1500);
            enemyShip.AddAction(mouvement);
            enemyShip.AddAction(new ActionShoot(enemyShip, wep, 5000));
            enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip), 1000));
            retour.Add(enemyShip);
            //tourelle 4
            enemyShip           = new EnnemyShip(false);
            enemyShip.Position  = new Vector2(GetWidth() - 100, GetHeight() - 100);
            enemyShip.Speed     = new Vector2(0, 0);
            mouvement           = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 120);
            mouvement.Recursive = true;
            wep = new ShotGun(enemyShip, 1500);
            enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip), 1000));
            enemyShip.AddAction(mouvement);
            enemyShip.AddAction(new ActionShoot(enemyShip, wep, 5000));
            retour.Add(enemyShip);


            return(retour);
        }
Beispiel #6
0
 public ActionDefend(EnnemyShip ship, DefenseBase shield)
 {
 }