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; } }
public override void AttaquerZombie() { if (CalculerDistance(position, CiblePersonnage.Position) <= rayonAttaque) { if (prochaineAttaque <= 0) { CiblePersonnage.RecevoirDegats(force, this); prochaineAttaque = rythmeAttaque; SonFusil.Play(); } AjusterRotation(CiblePersonnage.Position); } }