public void InfligeDegat(Semblable A, Semblable B) { int ADegat = A.GetValeurDeDegat(); int BAnnul = B.GetAnnulationDeDegat(); int ValeurDegat = (A.GetValeurDeDegat() - B.GetAnnulationDeDegat()) > 0 ? (A.GetValeurDeDegat() - B.GetAnnulationDeDegat()) : 0; B.PointDeDegatActuel += ValeurDegat; }
public void Agir(Semblable A, Semblable B, Semblable SemblableActif) { if (SemblableActif == A) { Action(A, B); } else if (SemblableActif == B) { Action(B, A); } }
public void Action(Semblable A, Semblable B) { if (A.Celerite >= 4 && A.IsDepenceDeSangPossible()) { A.DepenserPointDeSang(); Attaque(A, B); } Attaque(A, B); while (A.IsDepenceDeSangPossible()) { A.SeSoigner(); } A.DepencePointdeSangduTour = 0; }
public Semblable Commencer() { Semblable A = EquipeA.First(); Semblable B = EquipeB.First(); A.PointDeDegatActuel = 0; B.PointDeDegatActuel = 0; A.ReserveDeSang = 13; B.ReserveDeSang = 13; while (A.PointDeDegatActuel <= A.PdVMax && B.PointDeDegatActuel <= B.PdVMax) { CalculOrdreinitiative(); while (OrdreInitiative.Count > 1) { Semblable SemblableActif = OrdreInitiative.First(); Agir(A, B, SemblableActif); OrdreInitiative.Remove(SemblableActif); } } if (A.PointDeDegatActuel <= A.PdVMax) { Console.WriteLine(A.Nom + " à survecu"); return(A); } if (B.PointDeDegatActuel <= B.PdVMax) { Console.WriteLine(B.Nom + " à survecu"); return(B); } Semblable Erreur = new Semblable("Erreur", AgeSemblable.Archaique, 1, Armement.CorpsaCorps, 4, 4, 4); Console.WriteLine(B.Nom + " à survecu"); return(Erreur); }
public void Attaque(Semblable A, Semblable B) { Jet ChoixDeA; Jet ChoixDeB; if (A.CalculePossibiliteJetAttaque().Count() == 3) { int randd = rand.Next(0, 3); IList <Jet> tempo = A.CalculePossibiliteJetAttaque(); ChoixDeA = tempo[randd]; } else { int randd = rand.Next(0, 4); IList <Jet> tempo = A.CalculePossibiliteJetAttaque(); ChoixDeA = tempo[randd]; } if (B.CalculePossibiliteJetDefense().Count() == 3) { int randd = rand.Next(0, 3); IList <Jet> tempo = B.CalculePossibiliteJetDefense(); ChoixDeB = tempo[randd]; } else { int randd = rand.Next(0, 4); IList <Jet> tempo = B.CalculePossibiliteJetDefense(); ChoixDeB = tempo[randd]; } if (ResultatShifumi.Victoire == ComparerShifumi(ChoixDeA, ChoixDeB) || (ResultatShifumi.Egalite == ComparerShifumi(ChoixDeA, ChoixDeB) && (A.Physique > B.Physique))) { InfligeDegat(A, B); } }