Page 1 sur 1

Besois d'aide pour un jeu de dé

Posté : 16 mars 2023, 13:24
par soph
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()

      
    }
  
}) 
 



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

Posté : 16 mars 2023, 16:18
par webmaster
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

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

Posté : 16 mars 2023, 21:25
par soph
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

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

Posté : 16 mars 2023, 21:36
par soph
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

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

Posté : 10 juil. 2023, 04:51
par emmausa
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

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

Posté : 25 juil. 2023, 03:58
par bekean23
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.

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

Posté : 15 déc. 2023, 10:02
par otis
il s'agit d'un article informatif et il est très utile et compétent.
melon playground

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

Posté : 09 janv. 2024, 03:13
par lilycollins9x
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.

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

Posté : 10 janv. 2024, 02:40
par hanajijang
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