Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            GameText.ChooseNameText();
            var playerName = Console.ReadLine();

            var player  = new Player(playerName);
            var monster = new Monster();

            var listOfCharacters = new List <Character>();

            listOfCharacters.Add(player);
            listOfCharacters.Add(monster);

            while (listOfCharacters.All(item => item.IsAlive()))
            {
                GameText.MenuText(player, monster);
                var playerDamages  = -1;
                var monsterDamages = 0;

                // Action du joueur
                switch (Console.ReadKey().Key)
                {
                case ConsoleKey.A:
                    playerDamages = player.AttackPhysics();
                    break;

                case ConsoleKey.B:
                    playerDamages = player.AttackMagics();
                    break;

                case ConsoleKey.C:
                    player.UsePotion();
                    break;
                }

                // Attaque du monstre
                monsterDamages = monster.AttackRandom();

                foreach (var c in listOfCharacters)
                {
                    var degats         = c.IsPlayer ? playerDamages : monsterDamages;
                    var degatsOpposant = c.IsPlayer ? monsterDamages : playerDamages;

                    if (degats > 0)
                    {
                        GameText.AttackText(c, degats);
                    }
                    else if (degats == 0)
                    {
                        GameText.MissText(c);
                    }
                    else
                    {
                        GameText.UsePotionText(c);
                    }

                    if (degatsOpposant > 0)
                    {
                        c.TakeDamage(degatsOpposant);
                    }
                }
            }

            if (player.IsAlive())
            {
                GameText.WinText();
            }
            else
            {
                GameText.LoseText();
            }
        }