Пример #1
0
        /* Procédure permettant de répliquer à une attaque d'un personnage bagarreur
         * En entrée : adversaire est le personnage à attaquer, coup est un entier représentant l'attaque choisie par le joueur pour répliquer
         * Cette procédure est utilisée dans la méthode Défier de la classe Bagarreur. */
        internal void Defier(Personnage adversaire, int coup)
        {
            if (coup == 1) // si le joueur a choisi de répliquer par un coup de pied
            {
                // implémentation d'un facteur chance : le coup peut être esquivé par l'adversaire
                int chance = alea.Next(1, 4);
                if (chance == 2)
                {
                    Console.WriteLine(adversaire._nom + " a esquivé l'attaque ! Vous ne lui infligez aucun dégât.");
                }
                else
                {
                    adversaire._ptVie -= this._ptForce / 4;
                    Console.Write("Vous attaquez " + adversaire._nom + " qui perd " + this._ptForce / 4 + " points de vie. ");
                    if (adversaire._ptVie <= 0)
                    {
                        Console.WriteLine("Il ne lui reste aucun point de vie.");
                    }
                    else
                    {
                        Console.WriteLine("Il lui reste " + adversaire._ptVie + " points de vie.");
                    }
                }
            }

            if (coup == 2) // si le joueur a choisi de répliquer par un coup de poing
            {
                // implémentation d'un facteur chance : le coup peut être esquivé, rarement, par l'adversaire
                int chance = alea.Next(1, 11);
                if (chance == 3)
                {
                    Console.WriteLine(adversaire._nom + " a esquivé l'attaque ! Vous ne lui infligez aucun dégât.");
                }
                else
                {
                    adversaire._ptVie -= this._ptForce / 6;
                    Console.Write("Vous attaquez " + adversaire._nom + " qui perd " + this._ptForce / 6 + " points de vie. ");
                    if (adversaire._ptVie <= 0)
                    {
                        Console.WriteLine("Il ne lui reste aucun point de vie.");
                    }
                    else
                    {
                        Console.WriteLine("Il lui reste " + adversaire._ptVie + " points de vie.");
                    }
                }
            }
        }
Пример #2
0
 public void Defier(Personnage p)
 {
     p.Defier(this);
 }
Пример #3
0
 public abstract void Defier(Personnage p);
Пример #4
0
 public override void Defier(Personnage p)
 {
     p._ptVie -= _ptForce
 }