/// <summary> /// Créé un IA qui se dirige vers le joueur toutes les x secondes et tir /// </summary> /// <param name="pX">position en Y initiale</param> /// <param name="pY">position en X initiale</param> /// <param name="pDegree">degré initial</param> /// <param name="pRotateSpeed">vitesse de rotation</param> /// <param name="speed">vitesse de l'ennemi (3 par défaut)</param> /// <param name="delayShoot">millisecondes entre les tirs</param> /// <returns></returns> public static EnnemyShip GenerateCirclingEnnemi(float pX, float pY, int pDegree, float pRotateSpeed = 1.5f, float speed = 4, int delayShoot = 1000) { ActionMouvement mouvement; EnnemyShip enemyShip = new EnnemyShip(); enemyShip = new EnnemyShip(false); enemyShip.Position = new Vector2(pX, pY); enemyShip.Speed = new Vector2(speed, 0); enemyShip.RotationInDegrees = pDegree; enemyShip.setSpeedWithDirection(); mouvement = new ActionMouvement(enemyShip); mouvement.Recursive = true; mouvement.setRotation(pRotateSpeed); enemyShip.AddAction(mouvement); enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 300), delayShoot, (int)(delayShoot))); return(enemyShip); }
/// <summary> /// Créé un IA qui se dirige vers le joueur toutes les x secondes et tir /// </summary> /// <param name="playerShip">Référense vers le joueur</param> /// <param name="speed">vitesse de l'ennemi (3 par défaut)</param> /// <param name="delayShoot">millisecondes entre les tirs</param> /// <returns></returns> public static EnnemyShip GenerateSimpleEnnemi(Ship playerShip, float speed = 3, int delayShoot = 1000) { ActionFollowPlayer mouvement; EnnemyShip enemyShip = new EnnemyShip(); enemyShip = new EnnemyShip(false); enemyShip.Position = new Vector2(Utilitaire._random.Next(0, GameManager.GameManager._WidthGame), Utilitaire._random.Next(0, GameManager.GameManager._HeightGame)); enemyShip.Speed = new Vector2(speed, 0); enemyShip.RotationInDegrees = Utilitaire._random.Next(0, 360); enemyShip.setSpeedWithDirection(); mouvement = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 0, 5000); mouvement.Recursive = true; enemyShip.AddAction(mouvement); enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 300), delayShoot, (int)(delayShoot))); return enemyShip; }
/// <summary> /// Créé un IA qui se dirige vers le joueur toutes les x secondes et tir /// </summary> /// <param name="playerShip">Référense vers le joueur</param> /// <param name="speed">vitesse de l'ennemi (3 par défaut)</param> /// <param name="delayShoot">millisecondes entre les tirs</param> /// <returns></returns> public static EnnemyShip GenerateSimpleEnnemi(Ship playerShip, float speed = 3, int delayShoot = 1000) { ActionFollowPlayer mouvement; EnnemyShip enemyShip = new EnnemyShip(); enemyShip = new EnnemyShip(false); enemyShip.Position = new Vector2(Utilitaire._random.Next(0, GameManager.GameManager._WidthGame), Utilitaire._random.Next(0, GameManager.GameManager._HeightGame)); enemyShip.Speed = new Vector2(speed, 0); enemyShip.RotationInDegrees = Utilitaire._random.Next(0, 360); enemyShip.setSpeedWithDirection(); mouvement = new ActionFollowPlayer(enemyShip, playerShip, Laser.LASER_SPEED, 0, 5000); mouvement.Recursive = true; enemyShip.AddAction(mouvement); enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 300), delayShoot, (int)(delayShoot))); return(enemyShip); }
/// <summary> /// Créé un IA qui se dirige vers le joueur toutes les x secondes et tir /// </summary> /// <param name="pX">position en Y initiale</param> /// <param name="pY">position en X initiale</param> /// <param name="pDegree">degré initial</param> /// <param name="pRotateSpeed">vitesse de rotation</param> /// <param name="speed">vitesse de l'ennemi (3 par défaut)</param> /// <param name="delayShoot">millisecondes entre les tirs</param> /// <returns></returns> public static EnnemyShip GenerateCirclingEnnemi(float pX, float pY, int pDegree, float pRotateSpeed = 1.5f,float speed = 4, int delayShoot = 1000) { ActionMouvement mouvement; EnnemyShip enemyShip = new EnnemyShip(); enemyShip = new EnnemyShip(false); enemyShip.Position = new Vector2(pX, pY); enemyShip.Speed = new Vector2(speed, 0); enemyShip.RotationInDegrees = pDegree; enemyShip.setSpeedWithDirection(); mouvement = new ActionMouvement(enemyShip); mouvement.Recursive = true; mouvement.setRotation(pRotateSpeed); enemyShip.AddAction(mouvement); enemyShip.AddAction(new ActionShoot(enemyShip, new Weapon(enemyShip, 300), delayShoot, (int)(delayShoot))); return enemyShip; }