Пример #1
0
        public double DammageCalculatorPerso(Personnage personnageE, AttaqueCondition condition)
        {
            var    rand = new Random();
            double dmg;
            var    chance = ((double)rand.Next(-30, 31) / 100);

            switch (condition)
            {
            case AttaqueCondition.Attaque:

                var mulDmgAtt = MethodeCombat.Dommage(Arme.TypeElement, personnageE.Armure.TypeElement);
                dmg = ((Puissance + Arme.Puissance) - personnageE.Defense + personnageE.Armure.Defense) *
                      mulDmgAtt;
                if (dmg <= 1)
                {
                    dmg = rand.Next(2, 7);
                }
                dmg = dmg + (dmg * chance);
                return(dmg);

            case AttaqueCondition.Defense:
                var mulDmgDef = MethodeCombat.Dommage(personnageE.Arme.TypeElement, Armure.TypeElement);
                dmg = (personnageE.Puissance - (Defense + Armure.Defense)) * mulDmgDef;
                if (dmg <= 1)
                {
                    dmg = rand.Next(2, 7);
                }
                dmg = dmg + (dmg * chance);
                return(dmg);

            default:
                throw new ArgumentOutOfRangeException(nameof(condition), condition, null);
            }
        }
Пример #2
0
        //############################################ DAMAGE CALCULATORS ##########################################################//
        //############################################ DAMAGE CALCULATORS ##########################################################//
        //############################################ DAMAGE CALCULATORS ##########################################################//


        public double DammageCalculatorEnnemi(Ennemi ennemi, AttaqueCondition condition)
        {
            var    rand = new Random();
            double dmg;
            var    chance = ((double)rand.Next(-30, 31) / 100);

            switch (condition)
            {
            case AttaqueCondition.Attaque:

                var mulDmgAtt = MethodeCombat.Dommage(Arme.TypeElement, ennemi.TypeElement);
                dmg = ((Puissance + Arme.Puissance) - ennemi.Defense) * mulDmgAtt;
                if (dmg <= 1)
                {
                    dmg = rand.Next(2, 7);
                }
                dmg = dmg + (dmg * chance);
                return(dmg);

            case AttaqueCondition.Defense:
                var mulDmgDef = MethodeCombat.Dommage(ennemi.TypeElement, Arme.TypeElement);
                dmg = (ennemi.Puissance - (Defense + Armure.Defense)) * mulDmgDef;
                if (dmg <= 1)
                {
                    dmg = rand.Next(2, 7);
                }
                dmg = dmg + (dmg * chance);
                return(dmg);
            }

            return(0);
        }
Пример #3
0
        public static string OnRouleDesNoeuds(string monnoeud)
        {
            if (monnoeud != "FIN" & monnoeud != "Mort")
            {
                string newnoeud = null;

                foreach (var kvNoeud in DicStory)
                {
                    if (kvNoeud.Key == monnoeud)
                    {
                        kvNoeud.Value.Init(ref Player);
                        newnoeud = kvNoeud.Value.ChoixJoueur(ref Player);
                        break;
                    }
                }

                return(OnRouleDesNoeuds(newnoeud));
            }



            if (monnoeud == "Mort")
            {
                MethodeCombat.GameOver();
            }

            return(monnoeud);
        }
Пример #4
0
        public double DammageCalculatorMagicEnnemi(Ennemi baddie, Sort sort)
        {
            var rand   = new Random();
            var chance = (double)rand.Next(-30, 31) / 100;

            var mulDmgAtt = MethodeCombat.Dommage(sort.TypeElement, baddie.TypeElement);
            var dmg       = ((PuissanceMagique * sort.Puissance) - (baddie.Defense)) * mulDmgAtt;

            if (dmg <= 1)
            {
                dmg = rand.Next(2, 7);
            }
            dmg = dmg + (dmg * chance);
            return(dmg);
        }
Пример #5
0
        public double DammageCalculatorMagicPerso(Personnage defenseur, Sort sort)
        {
            var rand   = new Random();
            var chance = ((double)rand.Next(-30, 31) / 100);

            var mulDmgAtt = MethodeCombat.Dommage(sort.TypeElement, defenseur.Armure.TypeElement);
            var dmg       = ((PuissanceMagique * sort.Puissance) - (defenseur.Defense + defenseur.Armure.Defense)) * mulDmgAtt;

            if (dmg <= 1)
            {
                dmg = rand.Next(2, 7);
            }
            dmg = dmg + (dmg * chance);
            return(dmg);
        }
Пример #6
0
        public void Init(ref Personnage personnage)
        {
            AskForInventory(ref personnage);


            if (Ennemi != null)
            {
                var baddie = Ennemi;
                Console.WriteLine("\n" + CombatString + "\n");
                MethodeCombat.AttaqueEnnemi(ref personnage, ref baddie);
            }

            if (EnnemiP != null)
            {
                var baddie = EnnemiP;
                Console.WriteLine(CombatString + "\n");
                MethodeCombat.CombatPersonnage(ref personnage, ref baddie);
            }
            Console.Clear();
            Console.WriteLine("\n" + Intitule + "\n");
        }
Пример #7
0
        public void Init()
        {
            LoadAllContent();
            Table = new ClasseLootTable(ListeArmes, ListeArmures, ListeConsumables);



            Player = new Personnage(PersonnageRace.Humain, PersonnageClasse.Magicien, "Alex", 100, 100, 19, 5, 5,
                                    5)
            {
                Arme            = new ObjArme("yeaaa", TypeElement.Air, 3),
                Armure          = new ObjArmure("PasUneArmure", TypeElement.Air, 2),
                SeuilExperience = 200,
                ListeSorts      = ListeSorts
            };
            Player.Inventaire.Add(new ObjInventaire(new ObjConsumable("pete", TypeConsumable.Potion, TypeElement.Lumiere, 7)));
            Player.Inventaire.Add(new ObjInventaire(new ObjConsumable("pete", TypeConsumable.Potion, TypeElement.Lumiere, 7)));
            Player.Inventaire.Add(new ObjInventaire(ListeConsumables[0]));

            foreach (var listeArme in ListeArmes)
            {
                Player.Inventaire.Add(new ObjInventaire(listeArme));
            }

            foreach (var listeArme in ListeArmures)
            {
                Player.Inventaire.Add(new ObjInventaire(listeArme));
            }

            var suif = new Ennemi("Vache Enrage", TypeEnnemi.PerchaudeEnchantee, 30, TypeElement.Eau, 10, 10, 10, 3000,
                                  90);

            suif.LootTable = Table;

            var Client = new AffichageManager.AffichageManagerTest();

            Client.Init();
            Affichage = new Thread(Client.SendLoop);
            Affichage.Start();
            Thread.Sleep(300);


            Player2             = new Personnage(PersonnageRace.Humain, PersonnageClasse.Magicien, "Pablo", 100, 5, 5, 5, 5, 5);
            Player2.Arme        = new ObjArme("PabStick", TypeElement.Air, 2);
            Player2.ValeurExp   = 3000;
            Player2.Armure      = new ObjArmure("Pab String", TypeElement.Air, 2);
            Player2.LootTable   = Table;
            Player2.LootChances = 90;
            Console.WriteLine("Nom " + Player.Nom);
            Console.WriteLine(Player.Classe);
            Console.WriteLine(Player.Race);
            Console.WriteLine(Player.Arme.NomObjet);
            Console.WriteLine(Player.Armure.NomObjet);
            Console.WriteLine("Niv " + Player.Niveau);
            Console.WriteLine("MP " + Player.MpActuel);
            Console.WriteLine("MPMax " + Player.MpMax);
            Console.WriteLine("Att " + Player.Puissance);
            Console.WriteLine("Def " + Player.Defense);
            Console.WriteLine("EXP " + Player.Experience);
            Console.WriteLine("HP " + Player.PvActuels);
            Console.WriteLine("Vit " + Player.Vitesse);
            Console.WriteLine("PM " + Player.PuissanceMagique);
            Console.WriteLine(Player.SeuilExperience);
            Console.WriteLine(Player.ValeurExp);
            Console.ReadLine();
            Console.Clear();


            Player.MenuInventaire();


            MethodeCombat.CombatPersonnage(ref Player, ref Player2);
            Console.ReadLine();
            MethodeCombat.AttaqueEnnemi(ref Player, ref suif);



            Onrouledesnoeuds("Taxi");

            Affichage.Abort();
            //Histoire modules
            //SWITCH Decision /Hotel/Arena/Rencontre/Aventure#Quetes
            // |
            // V
            //Combat module


            //loop
        }