Ejemplo n.º 1
0
 public override void AttaquerZombie()
 {
     // Attaquer la cible si elle est dans le rayon d'attaque
     if (CalculerDistance(position, CiblePersonnage.Position) <= rayonAttaque)
     {
         if (prochaineAttaque <= 0)
         {
             CiblePersonnage.RecevoirDegats(force, this);
             prochaineAttaque = rythmeAttaque;
             SonFusil.Play();
         }
         AjusterRotation(CiblePersonnage.Position);
     }
     // Sinon, si le soldat est en état d'Alerte, se diriger vers la cible quand même
     else if (Alerte)
     {
         MouvementVersCible(CiblePersonnage.Position);
     }
     // Revenir à l'état Normal si aucun zombie à proximité et qu'il n'y a pas d'alerte
     else
     {
         etat            = new EtatNormal(this);
         SymboleEtat     = "N";
         CiblePersonnage = null;
     }
 }
Ejemplo n.º 2
0
 public override void AttaquerZombie()
 {
     if (CalculerDistance(position, CiblePersonnage.Position) <= rayonAttaque)
     {
         if (prochaineAttaque <= 0)
         {
             CiblePersonnage.RecevoirDegats(force, this);
             prochaineAttaque = rythmeAttaque;
             SonFusil.Play();
         }
         AjusterRotation(CiblePersonnage.Position);
     }
 }