//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(); }
//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(); } } }