Пример #1
0
        public static void AttaqueEnnemi(ref Personnage persJ, ref Ennemi baddie)
        {
            bool win  = false;
            var  cond = persJ.Vitesse > baddie.Vitesse ? AttaqueCondition.Attaque : AttaqueCondition.Defense;
            int  x    = 0;

            while (!win)
            {
                if (cond == AttaqueCondition.Attaque)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    if (x == 0)
                    {
                        Console.WriteLine($"\n{persJ.Nom} Attaque !");
                        ++x;
                    }
                    Console.ForegroundColor = ConsoleColor.White;
                    bool successoption = true;
                    var  typeatt       = TypeAttaquePersonnage(persJ);


                    switch (typeatt)
                    {
                    case AttaqueChoisie.AttaqueArme:
                        persJ.FrapperEnnemi(ref baddie);
                        break;

                    case AttaqueChoisie.AttaqueSort:
                        successoption = persJ.LancerSortVsEnnemi(ref baddie, null);
                        break;

                    case AttaqueChoisie.Item:
                        successoption = persJ.UtiliserItemVsEnnemi(ref baddie);
                        break;
                    }



                    if (!successoption)
                    {
                        continue;
                    }
                    //WaitAfterAtt
                    Thread.Sleep(450);
                }



                if (cond == AttaqueCondition.Defense)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    if (x == 0)
                    {
                        Console.WriteLine($"\n{baddie.Name} Attaque !");
                        ++x;
                    }
                    Console.ForegroundColor = ConsoleColor.White;
                    var typeatt = TypeAttaqueEnnemi(baddie);


                    switch (typeatt)
                    {
                    case AttaqueChoisie.AttaqueArme:
                        persJ.RecevoirFrappeDeEnnemi(baddie);
                        break;
                    }
                    //WaitAfterAtt
                    Thread.Sleep(450);
                }


                cond = cond == AttaqueCondition.Attaque ? AttaqueCondition.Defense : AttaqueCondition.Attaque;
                x    = 0;
                if (!(persJ.PvActuels <= 0 | baddie.Pv <= 0))
                {
                    continue;
                }
                if (persJ.PvActuels <= 0)
                {
                    GameOver();
                }
                else
                {
                    win = true;
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine($"\n\n            ~~~~~~~~~~~~~~~VICTOIRE!!!~~~~~~~~~~~~~~~" +
                                      $"\n                 {persJ.Nom} a Vaincu {baddie.Name} !!!!!\n" +
                                      $"                        Vous avez Gagne !");
                    Console.WriteLine("            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n" +
                                      "\n        ---> Appuyez sur une touche pour continuer....! <---");
                    Console.ReadLine();
                    Console.Clear();
                }
            }

            Console.ForegroundColor = ConsoleColor.Gray;
            persJ.AddXpEnnemi(baddie);
            persJ.CheckLevelPlayer();
            baddie.Loot(ref persJ);
            Console.ReadLine();
        }
Пример #2
0
        public static void CombatPersonnage(ref Personnage persJoueur, ref Personnage persEnnemi)
        {
            bool win = false;

            var cond = persJoueur.Vitesse > persEnnemi.Vitesse ? AttaqueCondition.Attaque : AttaqueCondition.Defense;
            int x    = 0;

            while (!win)
            {
                switch (cond)
                {
                case AttaqueCondition.Attaque:
                    Console.ForegroundColor = ConsoleColor.Green;

                    if (x == 0)
                    {
                        Console.WriteLine($"\n{persJoueur.Nom} Attaque !");
                        ++x;
                    }
                    Console.ForegroundColor = ConsoleColor.White;
                    Attaque(persJoueur, ref persEnnemi);
                    break;

                case AttaqueCondition.Defense:
                    Console.ForegroundColor = ConsoleColor.Red;
                    if (x == 0)
                    {
                        Console.WriteLine($"\n{persEnnemi.Nom} Attaque !");
                        ++x;
                    }
                    Console.ForegroundColor = ConsoleColor.White;
                    Attaque(persEnnemi, ref persJoueur);
                    break;
                }


                cond = cond == AttaqueCondition.Attaque ? AttaqueCondition.Defense : AttaqueCondition.Attaque;
                x    = 0;


                if (!(persJoueur.PvActuels <= 0 | persEnnemi.PvActuels <= 0))
                {
                    continue;
                }
                if (persJoueur.PvActuels <= 0)
                {
                    GameOver();
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine($"\n\n            ~~~~~~~~~~~~~~~VICTOIRE!!!~~~~~~~~~~~~~~~" +
                                      $"\n                 {persJoueur.Nom} a Vaincu {persEnnemi.Nom} !!!!!\n" +
                                      $"                        Vous avez Gagne !");
                    Console.WriteLine("            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n" +
                                      "\n        ---> Appuyez sur une touche pour continuer....! <---");
                    Console.ReadLine();
                    Console.Clear();
                    win = true;
                }
            }

            Console.ForegroundColor = ConsoleColor.Gray;
            persJoueur.AddXpPersonnage(persEnnemi);
            persJoueur.CheckLevelPlayer();
            persEnnemi.Loot(ref persJoueur);
        }