Ejemplo n.º 1
0
        /// <summary>
        /// Calcul des points de damage si l'attaque utilise des facultés "Spéciales".
        /// </summary>
        /// <param name="attaquant">Le Pokémon qui attaque</param>
        /// <param name="opposant">Le Pokémon qui se fait attaquer</param>
        /// <param name="attaqueChoisie">L'attaque qui a été choisie</param>
        /// <returns>Les points de damage</returns>
        int CalculPointsDamageSpécial(Pokemon attaquant, Pokemon opposant, Attaque attaqueChoisie)
        {
            float damage;

            float multiplicateurType = attaqueChoisie.GetTypeMultiplier(opposant.Type1, opposant.Type2);

            AfficherMessageMultiplicateur(multiplicateurType);

            damage = ((2 * attaquant.Level / 5 + 2) * attaqueChoisie.Power * (attaquant.SpecialAttack / (float)opposant.SpecialDefense) / 50) * multiplicateurType;

            return(CalculerDamageMinimal(damage));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Calcul des points de damage si l'attaque utilise des facultés "Physiques".
        /// </summary>
        /// <param name="attaquant">Le Pokémon qui attaque</param>
        /// <param name="opposant">Le Pokémon qui se fait attaquer</param>
        /// <param name="attaqueChoisie">L'attaque qui a été choisie</param>
        /// <returns>Les points de damage</returns>
        int CalculPointsDamagePhysique(Pokemon attaquant, Pokemon opposant, Attaque attaqueChoisie)// s'il y a un base power
        {
            float damage;

            float multiplicateurType = attaqueChoisie.GetTypeMultiplier(opposant.Type1, opposant.Type2);

            AfficherMessageMultiplicateur(multiplicateurType);

            damage = ((2 * attaquant.Level / 5f + 2) * attaqueChoisie.Power * (attaquant.Attack / (float)opposant.Defense) / 50f) * multiplicateurType;

            return(CalculerDamageMinimal(damage));
        }