Exemple #1
0
        //Bouton qui permet l'utilisation de l'habilete 2
        private void button_habilete_2_Click(object sender, RoutedEventArgs e)
        {
            Habilete spell = selectionne.listeHabileteActive[1];

            if (spell.cible == Cible.ennemi)
            {
                attaquer(selectionne, adversaire, spell);
            }
            else
            {
                TypeElement element    = selectionne.typeMonstre;
                Habilete    supporting = Habilete.habilete_protection_element(element);
                textBox_Console.AppendText("\n-------------------------------------------------\n" + selectionne.nomMonstre + " utilise " + supporting.nom + " !");
                // Utilise l'habilete
                selectionne.actuel[1] = selectionne.actuel[1] - supporting.cout;
                if (supporting.effet == Effet.regeneration)
                {
                    selectionne.actuel[0] = selectionne.actuel[0] + supporting.magnitude + selectionne.niveauExp;
                    if (selectionne.actuel[0] > selectionne.total[0])
                    {
                        selectionne.actuel[0] = selectionne.total[0];
                    }
                    textBox_Console.AppendText("\n" + selectionne.nomMonstre + " récupère " + supporting.magnitude + " points de vie !");
                }
                else
                {
                    selectionne.actuel[4] = selectionne.actuel[4] + supporting.magnitude;
                    textBox_Console.AppendText("\n" + selectionne.nomMonstre + " augmente ces défenses de " + supporting.magnitude + " points !");
                }
            }
            reponse_adverse();
        }
Exemple #2
0
        //Reponse de l'adversaire (Intelligence artificielle)
        private void reponse_adverse()
        {
            if (adversaire.actuel[0] <= 0) // Si la vie de l'adversaire est moins ou égal a 0
            {
                if (nb_adversaire > 0)
                {
                    textBox_Console.Text = adversaire.nomMonstre + " est mort !";
                    generer_adversaire(difficulte);
                }
                else
                {
                    textBox_Console.Text     = adversaire.nomMonstre + " est mort !\nVous avez vaincu l'equipe ennemi !";
                    panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                    disable_button();
                    attribuer_recompense();
                }

                // Fin du combat
            }

            // Si la vie de l'adversaire est égal ou plus petit que 10
            else if (adversaire.actuel[0] <= 10)
            {
                textBox_Console.AppendText("\n" + adversaire.nomMonstre + "s'est enfui !");
                image_pokemon_adverse.Source = Monstre.portrait("iconnu.xml");
                generer_adversaire(difficulte);
            }

            // Si l'adversaire a pas assez de mana pour une habilete
            else if (adversaire.actuel[1] < adversaire.listeHabilete[0].cout && adversaire.actuel[1] < adversaire.listeHabilete[1].cout)
            {
                textBox_Console.AppendText("\n-------------------------------------------------\n" + adversaire.nomMonstre + " n'a pas assez de mana pour utiliser une habilete ! ");
                Regen_mana();
            }

            // Si la vie de l'adversaire est plus petit ou égal a 30 et qu'il possède assez de mana pour un habilet de support
            else if (difficulte > 1)
            {
                if (adversaire.actuel[0] <= 30 || (adversaire.actuel[1] < adversaire.listeHabilete[0].cout && adversaire.actuel[1] > adversaire.listeHabilete[1].cout))
                {
                    TypeElement element    = adversaire.typeMonstre;
                    Habilete    supporting = Habilete.habilete_protection_element(element);
                    textBox_Console.AppendText("\n-------------------------------------------------\n" + adversaire.nomMonstre + " utilise " + supporting.nom + " !");
                    // Utilise l'habilete
                    adversaire.actuel[1] = adversaire.actuel[1] - supporting.cout;
                    if (supporting.effet == Effet.regeneration)
                    {
                        adversaire.actuel[0] = adversaire.actuel[0] + supporting.magnitude;
                        if (adversaire.actuel[0] > adversaire.total[0])
                        {
                            adversaire.actuel[0] = adversaire.total[0];
                        }
                        textBox_Console.AppendText("\n" + adversaire.nomMonstre + " récupère " + supporting.magnitude + " points de vie !");
                    }
                    else
                    {
                        adversaire.actuel[4] = adversaire.actuel[4] + supporting.magnitude;
                        textBox_Console.AppendText("\n" + adversaire.nomMonstre + " augmente ces défenses de " + supporting.magnitude + " points !");
                    }
                    Regen_mana();
                }
            }

            else
            {
                attaquer(adversaire, selectionne, adversaire.listeHabilete[0]);
                if (selectionne.actuel[0] < 1)
                {
                    textBox_Console.AppendText("\n" + selectionne.nomMonstre + " est mort !\nVeuillez sélectionner un autre pokemon ou quitter ! ");
                    int x = parti.joueur.trouver_monstre_equipe(selectionne);

                    switch (x)
                    {
                    case 0:
                        button_choix1.IsEnabled  = false;
                        panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                        break;

                    case 1:
                        button_choix2.IsEnabled  = false;
                        panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                        break;

                    case 2:
                        button_choix3.IsEnabled  = false;
                        panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                        break;

                    case 3:
                        button_choix4.IsEnabled  = false;
                        panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                        break;

                    case 4:
                        button_choix5.IsEnabled  = false;
                        panel_pokemon.Visibility = System.Windows.Visibility.Hidden;
                        break;
                    }
                    // Si tout les pokemons sont morts, disable le boutton inventaire ainsi que le panel relié
                    if (button_choix1.IsEnabled == false && button_choix2.IsEnabled == false && button_choix3.IsEnabled == false && button_choix4.IsEnabled == false && button_choix5.IsEnabled == false)
                    {
                        button_inventaire.IsEnabled = false;
                        panel_inventaire.Visibility = System.Windows.Visibility.Hidden;
                    }
                }
                else
                {
                    Regen_mana();
                }
            }
        }