IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Jeu 2 joueurs (alterner les tours)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2016
    Messages : 66
    Par défaut Jeu 2 joueurs (alterner les tours)
    Bonjour à tous,

    Je suis débutant en JavaScript et je dois réaliser un jeu
    Il s'agit du jeu des allumet
    Il y a un bouton "Initialiser" (avec la fonction initialiser()), un des joueurs en choisit quel nombre au départ, il permet aussi de recommencer une partie.
    Puis il y a un bouton "Enlever" (avec la fonction enlever()), chaque joueur à leur tour enlève entre 1 à 3 allu.

    J'ai 2 questions:
    - Tout d'abord ma fonction enlever() ne fonctionne pas comme elle devrait, je vous demande de m'aider afin de savoir d'où pourrait provenir le bug?
    Chaque clic sur le bouton Enlever active donc la fonction "enlever()".
    Voici le code de la fonction en question :

    On commence par le code HTML dans le body (je n'ai pas tout mit) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
            <p>
                <button type="submit" onclick="enlever()">Enlever</button><input type="text" id="alluEnlevees"/>
            </p>
            <p>
                <button type="submit" onclick="initialiser()">(Re)Initialiser</button><input type="text" value="2" id="nbAllu"/>
            </p>
            <script>
                function enlever() {
                    var nbAlluEnlevees = document.getElementById("alluEnlevees").value;
                    var nbAllu = document.getElementById("nbAllu").value;
    // Image d'une flamme qui s'affiche à l'écran au tout début du jeu et qui se remplace par l'image du nombre d'allu tapé dans le champ Initialiser
                    var flammeElt = document.getElementById("flamme");
     
                    if ((nbAlluEnlevees == "") || (nbAlluEnlevees > 3) || (nbAlluEnlevees < 1)) {
                        alert("Veuillez entrer un chiffre compris entre 1 et 3");
                    } else if (nbAllu < nbAlluEnlevees) {
                        alert("Veuillez choisir un chiffre inférieur");
                    } else {
                        for (var i=nbAlluEnlevees-1; i>=0; i--) {
    // On retire le dernier enfant, à chaque itération la fonction devrait enlever 1 image d'une allu mais ce n'est pas ce qui se passe
                            flammeElt.removeChild(flammeElt.lastChild);
                        }
                        nbAllu -= nbAlluEnlevees;
                    }
                        alert("Il reste : " + nbAllu);
     
                        if (nbAllu == 0) {
    //  Je n'ai pas encore initialisé de variable joueur.
                            flammeElt.innerHTML = "<p>Le " + "joueur" + " a gagné</p>";
                        }
                }
            </script>
    Si quelqu'un pouvait me donner quelques pistes ça serait vraiment génial.

    - Ensuite, comme le titre l'indique (jeu 2 joueurs) je souhaiterai que lorsqu'un joueur clic sur le bouton "Enlever" qui active la fonction enlever(), il faudrait que cela change de joueur pour pouvoir afficher qui est le gagnant soit le joueur1 ou le joueur2.
    J'ai pensé à mettre une condition "if" avec une variable "joueur" qui varie entre 0 et 1, mais je ne sais pas comment faire cela.
    Je dois déterminer quand un joueur clic sur le bouton pour savoir quand changer de joueur.
    Avez-vous certaines idées?

    Merci beaucoup à tous, j'attends avec impatience vos réponses.

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Par défaut Une simple variable
    Bonjour,

    Ton idée de simple variable qui varie entre 0 et 1 pour distinguer le joueur me semble bien. Tu as juste besoin de savoir quel joueur termine si je ne me trompe pas, donc pas réellement besoin de "switcher" de joueur à chaque tour.
    Du coup mettre une variable dont tu changes la valeur dans ta fonction enlever() suffit.
    Et à la fin tu regardes la variable pour savoir à quel joueur elle correspond et qui a gagné.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2016
    Messages : 66
    Par défaut
    Merci pour ta réponse.
    Je vois ce que tu veux dire mais comment je pourrais mettre ça en place dans cette fonction.
    Car je ne sais pas comment je pourrais changer la valeur du joueur entre 0 et 1 et déterminer qui termine du coup.
    As-tu une idée précise?

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Par défaut
    Je verrais bien un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (joueur == 0) joueur = 1;
    else joueur = 0;
    Ou alors :

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2016
    Messages : 66
    Par défaut
    Ha oui bonne idée Copiximp,
    C'est ce que je cherche en vain et pourtant c'est si simple, je pense que ça va marcher nickel.

    Par ailleurs as-tu une idée de ce qui peut causer un bug dans ma fonction "enlever()" ?
    J'ai mît le code dans mon 1er post.

    Encore un grand merci à toi.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Par défaut
    De rien, juste il faudrait que tu dises ce qu'est le bug exactement parce que si je ne sais pas ou chercher ça peut être long
    Ou donner le code complet peut être.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. [Toutes versions] Alterner les couleurs sur changement de valeur dans une colonne
    Par Invité dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/01/2015, 09h20
  3. [Projet en cours] BounceBox, un jeu multi-joueurs en ligne sur Freebox, sur le web et sur Android
    Par nouknouk dans le forum Projets
    Réponses: 60
    Dernier message: 03/11/2011, 19h01
  4. [Recrutement] Création d'un jeu de gestion sur les bassins
    Par madmax52 dans le forum Projets
    Réponses: 9
    Dernier message: 14/01/2010, 20h03
  5. [JSP][javascript]lier le javascript et les jsp
    Par deldin dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 20/08/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo