コード例 #1
0
ファイル: Combat.cs プロジェクト: OninoDominik/Semblable
        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;
        }
コード例 #2
0
ファイル: Combat.cs プロジェクト: OninoDominik/Semblable
 public void Agir(Semblable A, Semblable B, Semblable SemblableActif)
 {
     if (SemblableActif == A)
     {
         Action(A, B);
     }
     else if (SemblableActif == B)
     {
         Action(B, A);
     }
 }
コード例 #3
0
ファイル: Combat.cs プロジェクト: OninoDominik/Semblable
 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;
 }
コード例 #4
0
ファイル: Combat.cs プロジェクト: OninoDominik/Semblable
        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);
        }
コード例 #5
0
ファイル: Combat.cs プロジェクト: OninoDominik/Semblable
        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);
            }
        }