示例#1
0
        //Effectué si gagné
        public void PlayerWon()
        {
            Console.Clear();
            var rand = Program.Random;
            var xp = rand.Next(20, 50);
            var oldLevel = (int) Math.Floor((double) PlayerM.Player.Xp/100);
            PlayerM.Player.Xp += xp;
            var newLevel = (int) Math.Floor((double) PlayerM.Player.Xp/100);

            if (oldLevel < newLevel)
            {
                PlayerM.Player.MaxHp += 150;
                PlayerM.Player.Hp += 150;
            }

            ShowCombatInfoLine(-1);
            Console.WriteLine("Vous avez gagné le combat ! Votre experience augmente de {0} points !", xp);
            Console.WriteLine();
            //Génération des objets gagnés (70% 1 item, 20% un deuxiéme)
            if (rand.Next(0, 101) > 30)
            {
                var itemM = new ItemManager((int)Math.Floor((double)PlayerM.Player.Xp / 100), PlayerM);
                PlayerM = itemM.PlayerM;
                Console.WriteLine("Vous avez gagné un objet : {0} - Niveau {1}", itemM.Name, itemM.Level);
                if (rand.Next(0, 101) > 80)
                {
                    Console.WriteLine();
                    var secondItemM = new ItemManager((int)Math.Floor((double)PlayerM.Player.Xp / 100), PlayerM);
                    PlayerM = secondItemM.PlayerM;
                    Console.WriteLine("Vous avez gagné un autre objet : {0} - Niveau {1}", secondItemM.Name, secondItemM.Level);
                }
                Console.WriteLine();
            }

            //40% de chances de drop une arme
            if (rand.Next(0, 101) > 60)
            {
                var weaponAdded = PlayerM.AddWeapon();
                Console.WriteLine("Vous avez gagné une arme : {0} - Niveau {1}", weaponAdded.Name, weaponAdded.Level);
                Console.WriteLine();
            }


            if (oldLevel < newLevel)
            {
                Console.WriteLine("Vous êtes passés au niveau {0}, Félicitations !", newLevel);
                Console.WriteLine("Votre vie maximale est maintenant passée a {0} et vous avez été soigné de 150 PVs !", PlayerM.Player.MaxHp);
            }
            
            PlayerM.Save();
            Console.WriteLine();
            Console.WriteLine("Appuyez sur entrée pour continuer");
            Console.ReadLine();
            Console.Clear();
        }
 //Recherche des items dans la zone
 public bool SearchCellForItems()
 {
     if (GetCellManager().HadBeenVisited())
     {
         Console.WriteLine("Cette zone à déja été fouillée.");
         Console.WriteLine();
     }
     else
     {
         GetCellManager().IsVisited();
         var rand = Program.Random;
         if (rand.Next(0, 101) > 90) //10 % de chances de trouver un item
         {
             var itemM = new ItemManager((int)Math.Floor((double)Player.Xp / 100), this);
             Player = itemM.PlayerM.Player;
             Console.WriteLine("Quelle chance ! Vous avez trouvé un objet !");
             Console.WriteLine("         -> {0} - Niveau {1}", itemM.Name, itemM.Level);
         }
         else if (rand.Next(0, 101) > 95) //5% de trouver une arme
         {
             var weaponAdded = AddWeapon();
             Console.WriteLine("Petit veinard ! Vous avez trouvé une arme !");
             Console.WriteLine("         -> {0} - Niveau {1}", weaponAdded.Name, weaponAdded.Level);
             Console.WriteLine();
         }
         else
         {
             Console.WriteLine("Vous n'avez rien trouvé !");
             Console.WriteLine();
         }
     }
     return true;
 }