private void Attaquer(Personnage Attaquant, Personnage Victime) { Random rn = new Random(); double hit = rn.NextDouble(); double prob = 0.5 + (0.1 * (Attaquant.Attributs.Precision - Victime.Attributs.Esquive)); if (prob < 0.1) { prob = 0.1; } if (prob > 0.9) { prob = 0.9; } if (hit <= prob) { Program.Histoire(Attaquant.Nom + " a causé " + Attaquant.Attaquer(Victime) + " de dégâts à " + Victime.Nom + " (" + Victime.PointsDeVie + "/" + Victime.Attributs.PointsDeVieBase + " PV)!", false); } else { Program.Histoire(Victime.Nom + " a esquivé l'attaque de " + Attaquant.Nom + "!", false); } if (Victime.Etat == Etat.Mort) { Program.Histoire(Victime.Nom + " git maintenant mort sur le sol!", false); } }
/// <summary> /// Permet au personnage d'attaquer un autre personnage /// </summary> public int Attaquer(Personnage adversaire) { int degats = Attributs.Force - adversaire.Attributs.Defense; if (degats < 1) { degats = 1; } adversaire.PointsDeVie -= degats; return degats; }