Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction qui se recréée en boucle, jeu tour/tour

    14 décembre 2018 à 23:39:58

    Bonjour tout le monde,

    Alors je voudrais savoir si il y avait une possibilité d'écraser une fonction ? je m'explique avec du code juste à la fin.
    En fait j'ai ma fonction gestionCombat() qui va donc gérer tous les cliques de mon interface, comme l'attaque, la defence ... mais lorsque je détecte un clique sur, par exemple l'attaque et bien je demande a rappeler la fonction gestionCombat() pour pouvoir gérer les actions suivantes. Mon problème est donc que le rappel de la fonction ne va pas l'ecraser ce qui fait que si il y a 10 attaques dans le combat et bien la fonction gestionCombat() existera 10 fois ce qui pose pas mal de soucis comme par exemple dans l'utilisation de mes potions car cela va en consommer 10 au lieu d'une seule....
    Merci vraiment beaucoup pour votre aide
    Lien de mon github si vous voulez tout le code : https://github.com/thomasv04/OC_P6
    La fonction qui pose problème : 
    gestionCombat() {
            this.gestionMort();
            if (this.tour === 1) {
                $('.combat_perso1 img').addClass("animation_combat_p1");
                $('.combat_perso2 img').removeClass("animation_combat_p2");
                $('.combat_perso2 img').removeClass("animation_degat_p2");
                $('.combat_perso1 .attaque').click(function () {
                    if (plateau.tour === 1) {
                        plateau.combatAttaque(1);
                        plateau.changementTour();
                        plateau.gestionCombat();
                    }
    
    
                })
                $('.combat_perso1 .fuite').click(function () {
                    if (plateau.tour === 1) {
                        plateau.combatFuite();
                    }
                })
    
                $('.combat_perso1 .defense').click(function () {
                    if (plateau.tour === 1) {
                        plateau.perso[1].defense = 1;
                        plateau.changementTour();
                        plateau.gestionCombat();
                    }
                })
    
                $('.combat_perso1 .objet_action').click(function () {
                    if (plateau.tour === 1) {
                        plateau.gestionInventaireCombat(1);
                    }
                })
    
            }
    
            if (this.tour === 2) {
                $('.combat_perso2 img').addClass("animation_combat_p2");
                $('.combat_perso1 img').removeClass("animation_combat_p1");
                $('.combat_perso1 img').removeClass("animation_degat_p1");
                $('.combat_perso2 .attaque').click(function () {
                    if (plateau.tour === 2) {
                        console.log("testclick");
                        plateau.combatAttaque(2);
                        plateau.changementTour();
                        plateau.gestionCombat();
    
                    }
                })
                $('.combat_perso2 .fuite').click(function () {
                    if (plateau.tour === 2) {
                        plateau.combatFuite();
                    }
                })
    
                $('.combat_perso2 .defense').click(function () {
                    if (plateau.tour === 2) {
                        plateau.perso[2].defense = 1;
                        plateau.changementTour();
                        plateau.gestionCombat();
                    }
                })
    
                $('.combat_perso2 .objet_action').click(function () {
                    console.log("test")
                    if (plateau.tour === 2) {
                        plateau.gestionInventaireCombat(2);
    
    
                    }
                })
            }
        }
    • Partager sur Facebook
    • Partager sur Twitter

    Fonction qui se recréée en boucle, jeu tour/tour

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown