public ActionMouvement(EnnemyShip ship, int delay = 0, int sleep = 0) { _time = delay; _timePaused = sleep; _initialTime = delay; _ship = ship; }
public ActionShoot(EnnemyShip ship, Weapon arme, int delay = 0, int sleep = 0) { _time = delay; _initialTime = delay; _timePaused = sleep; _ship = ship; _weapon = arme; Recursive = true; }
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)); }
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); }
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); }
public ActionDefend(EnnemyShip ship, DefenseBase shield) { }