Besois d'aide pour un jeu de dé

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
soph
Messages : 3
Enregistré le : 16 mars 2023, 12:37

Besois d'aide pour un jeu de dé

Message par soph » 16 mars 2023, 13:24

Bonjour,
je dois développer un jeux de dé les règles sont ls suivantes, deux joueurs clique sur le bouton "cliquer" un dé aléatoire affiche un nombre
dans un currentScore puis lorsque il clique sur le bouton "holder " ce currentScore s'additionne à un finalScore puis ca passe au joueur suivant.
j'ai une erreur sur ma fonction des scores sur le premier joueur tout ce passe bien mais dé que ca passe au deuxième plus rien ne va je n'arrive pas
à identifier le problème
y aurait il quelqu'un pour m'expliquer mon problème merci par avance
Soph

je joint le html et js

Code : Tout sélectionner

<!DOCTYPE html>
<html lang="fr">
   <head>
      <title>formulaire</title>
      <meta charset="utf-8">
      <meta name="formulaire" content=" ">
      <meta name="robots" content="noindex,nofollow">
      <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
      <link rel="stylesheet" href="css/styles.css">
   </head>
   <body>
      <div id="image"></div>
      <br>
      <button id="nbrde">clique</button>
      <br>
      <br>
      <button id="finalNbr">Holder</button>
      <br>
      <br>
      <div class="player1 actif">       
         <button class="score1"> 0</button>
         <br>
         <br>
         <button class="finalScore1">0</button>
      </div>
      <br>
      <br>
 
      <div class="player2">        
         <button class="score2"> 0</button>
         <br>
         <br>
         <button class="finalScore2">0</button>
      </div>
      <script src="script.js">
      </script>
   </body>
</html>

//mon js avec ma fonction qui ne fonctionne pas!!!

Code : Tout sélectionner

// les deux boutons avec lequelles on joue
let button = document.querySelector('#nbrde');
let holder = document.querySelector('#finalNbr');

let image = document.querySelector('#image');


//début de partie 
let currentScore = 0;
let playerActif = '1';
let finalResult =[0,0];
let nbr = 0;
let img = document.createElement("img");

//nombre aléatoir entre 6 et 1
let nbrRandom =(max,min)=>{
  return Math.floor(Math.random() * 6 + 1);
}


//changer de joueur
let changePlayer = () => {

  if (playerActif == '1') {
    playerActif = '2';
  } else {
    playerActif = '1'
  }  
 
  document.querySelector('.player1').classList.toggle("actif");
  document.querySelector('.player2').classList.toggle("actif");
};


//lancer le dé
button.addEventListener('click', ()=>{

  nbr = nbrRandom();

  if (nbr !== 1) {
    currentScore += nbr;
    document.querySelector(".score" + playerActif).innerHTML = currentScore;

  } else {
    currentScore = 0;
    document.querySelector(".score" + playerActif).innerHTML = currentScore;
 
    changePlayer()
  }
  //img.src = "images/" + nbr + ".png";
  //image.appendChild(img)
  image.innerHTML = nbr
});



// attribuer les scores
holder.addEventListener('click',()=>{  

    finalResult[playerActif] += currentScore;

    document.querySelector(".finalScore"+ playerActif).innerHTML= finalResult[playerActif];
    document.querySelector(".score"+playerActif).innerHTML =0;

    if(finalResult[playerActif] >= 100){
      document.querySelector(".finalScore"+[playerActif]).textContent = "WINNER"

    }else{
      changePlayer()

      
    }
  
}) 
 



Avatar du membre
webmaster
Administrateur du site
Messages : 562
Enregistré le : 28 févr. 2017, 15:19

Re: Besois d'aide pour un jeu de dé

Message par webmaster » 16 mars 2023, 16:18

Bonjour,

Le probleme vient de la déclaration du tableau des scores qui n'associe pas bien les index de joueurs
Il faut remplacer

Code : Tout sélectionner

let finalResult =[0,0];
par

Code : Tout sélectionner

let finalResult =[];
finalResult['1']=0;
finalResult['2']=0;
Et ca fonctionne bien
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

soph
Messages : 3
Enregistré le : 16 mars 2023, 12:37

Re: Besois d'aide pour un jeu de dé

Message par soph » 16 mars 2023, 21:25

bonsoir Webmaster,
merci beaucoup pour ta réponse effectivement j'incrémente les "finalScores mais j'ai toujours mon probléme du passage
au deuxième joueur mon finalScore1 s'additionne avec le currentScore pour incrémenter finalScore2 je m'arrive pas à dissocier les deux scores
je sais j'ai beaucoup de mal avec la logique de javascript
merci d'avance
Sophh

soph
Messages : 3
Enregistré le : 16 mars 2023, 12:37

Re: Besois d'aide pour un jeu de dé

Message par soph » 16 mars 2023, 21:36

j'ai résolu mon problème il suffisait de mettre mon currentScore à zéro dans mon else et sa fonctionne
:D merci pour ton aide webmaster

emmausa
Messages : 2
Enregistré le : 10 juil. 2023, 04:47

Re: Besois d'aide pour un jeu de dé

Message par emmausa » 10 juil. 2023, 04:51

Grâce aux informations que vous m'avez partagées et guidées, j'ai pu résoudre les difficultés auxquelles je faisais face. Merci beaucoup. mapquest directions

bekean23
Messages : 5
Enregistré le : 25 juil. 2023, 03:54

Re: Besois d'aide pour un jeu de dé

Message par bekean23 » 25 juil. 2023, 03:58

soph a écrit :
16 mars 2023, 13:24
Bonjour,
je dois développer un jeux de dé les règles sont ls suivantes, deux joueurs clique sur le bouton "cliquer" un dé aléatoire affiche un nombre
dans un currentScore puis lorsque il clique sur le bouton "holder " ce currentScore s'additionne à un finalScore puis ca passe au joueur suivant.
j'ai une erreur sur ma fonction des scores sur le premier joueur tout ce passe bien mais dé que ca fnf passe au deuxième plus rien ne va je n'arrive pas
à identifier le problème
y aurait il quelqu'un pour m'expliquer mon problème merci par avance
Soph
Assurez-vous que les variables utilisées pour stocker les scores (comme currentScore et finalScore) sont déclarées dans la portée appropriée pour que les deux joueurs puissent y accéder correctement.

otis
Messages : 2
Enregistré le : 15 déc. 2023, 10:00

Re: Besois d'aide pour un jeu de dé

Message par otis » 15 déc. 2023, 10:02

il s'agit d'un article informatif et il est très utile et compétent.
melon playground

lilycollins9x
Messages : 5
Enregistré le : 09 janv. 2024, 03:00

Re: Besois d'aide pour un jeu de dé

Message par lilycollins9x » 09 janv. 2024, 03:13

Hello Soph,incredibox
I found a problem with your scoring function. That's because of how you handle the playerActif variable.
In your current code, you set the player activity to '1' when starting the game. This means that player 1 is always the active player, even if player 2 clicks the clicker button.
To resolve this issue, you need to change the way you define playerActif. Instead of setting it at '1' at the beginning of the game, you should set it at the value of the button that was clicked.

hanajijang
Messages : 1
Enregistré le : 10 janv. 2024, 02:39

Re: Besois d'aide pour un jeu de dé

Message par hanajijang » 10 janv. 2024, 02:40

lilycollins9x a écrit :
09 janv. 2024, 03:13
Hello Soph,incredibox
I found a problem with your scoring function. That's because of how you handle the playerActif variable.
In your current code, you set the player activity to '1' when starting the game. This means that player 1 is always the active player, even if player 2 clicks the clicker button.
To resolve this issue, you need to change the way you define playerActif. Instead of setting it at '1' at the beginning of the game, you should set it at the value of the button that was clicked.
I think so, too

Répondre