예제 #1
0
        //Retourne l'index du monstre de la liste de monstres actif d'un joueur donné
        public int trouver_monstre_equipe(Monstre monstre)
        {
            int loop = 0;

            Monstre[] liste = equipe;

            foreach (Monstre x in liste)
            {
                if (x != null && Monstre.estIdentique(x, monstre))
                {
                    return(loop);
                }
                loop++;
            }

            return(loop);
        }
예제 #2
0
        //Utilisation d'une attaque
        private void attaquer(Monstre attaquant, Monstre cible, Habilete spell_use)
        {
            Habilete spell = spell_use;

            if (attaquant.actuel[1] < spell.cout)
            {
                System.Windows.MessageBox.Show("Ce pokemon n'a pas assez de mana pour effectuer l'attaque: Mana" + attaquant.actuel[1] + " Cout " + spell.cout);
            }
            else
            {
                int damageBrute = spell.magnitude + attaquant.actuel[3];

                //Si l'attaquant est de type eau, l'electricite diminu de moitier le spell et le feu encaisse le double
                if (attaquant.typeMonstre == TypeElement.Eau)
                {
                    if (cible.typeMonstre == TypeElement.Electricite)
                    {
                        damageBrute = damageBrute / 2;
                    }

                    if (cible.typeMonstre == TypeElement.Feu)
                    {
                        damageBrute = damageBrute * 2;
                    }
                }

                //Si l'attaquant est de type Electricite, l'eau encaisse le double et la vegetation resiste de moititer
                if (attaquant.typeMonstre == TypeElement.Electricite)
                {
                    if (cible.typeMonstre == TypeElement.Vegetation)
                    {
                        damageBrute = damageBrute / 2;
                    }

                    if (cible.typeMonstre == TypeElement.Eau)
                    {
                        damageBrute = damageBrute * 2;
                    }
                }

                //Si l'attaquant est de type Feu, l'eau encaisse la moitier et vegetation le double
                if (attaquant.typeMonstre == TypeElement.Feu)
                {
                    if (cible.typeMonstre == TypeElement.Eau)
                    {
                        damageBrute = damageBrute / 2;
                    }

                    if (cible.typeMonstre == TypeElement.Vegetation)
                    {
                        damageBrute = damageBrute * 2;
                    }
                }

                //Si l'attaquant est de type Vegetation, l'electricite encaisse le double et le feu la moitie
                if (attaquant.typeMonstre == TypeElement.Vegetation)
                {
                    if (cible.typeMonstre == TypeElement.Feu)
                    {
                        damageBrute = damageBrute / 2;
                    }

                    if (cible.typeMonstre == TypeElement.Electricite)
                    {
                        damageBrute = damageBrute * 2;
                    }
                }

                //Calcul de l'attaque
                int damageNet = damageBrute - cible.actuel[4];
                cible.actuel[0]     = cible.actuel[0] - damageNet;
                attaquant.actuel[1] = attaquant.actuel[1] - spell.cout;

                if (Monstre.estIdentique(cible, selectionne))    // Si la cible est le pokemon du joueur
                {
                    selectionne.actuel[0] = cible.actuel[0];     // La vie du pokemon du joueur est = a la vie de la cible
                    adversaire.actuel[1]  = attaquant.actuel[1]; // La mana du pokemon adverse est = a la mana de l'attaquant
                }
                else // Sinon, la cible est le pokemon de l'adversaire
                {
                    adversaire.actuel[0]  = cible.actuel[0];
                    selectionne.actuel[1] = attaquant.actuel[1];
                }

                MAJ_barre();
                textBox_Console.AppendText("\n-------------------------------------------------\n" + attaquant.nomMonstre + " utilise " + spell.nom + " !\n" + cible.nomMonstre + " encaisse " + damageBrute + " de damage !");
            }
        }