récupérer le résultat d'une variable pour l'afficher

Par faizh33, il y a 3 ans


bonjour tout le monde, nouvelle sur ce forum je m'excuse d'avance si je commet un impair ^^

Je suis actuellement en train de créer un jeu en JavaScript. Les règles sont simples: 2joueurs, qui jouent à tour de rôle. Le 1er joueur peut lancer le dés autant de fois qu'il veut, mais s'il fait un "1" son score retombe à 0 et c'est au tour du joueur 2.

A tout moment le joueur actif peut enregistrer son score courant et l'ajouter à son score total.

Le 1er à atteindre 100 à gagner.

Mon soucis c'est que je n'arrive pas à récupérer le score courant et à l'afficher sur la page. J'ai à chaque fois un undefined, comme si je ne pouvais pas récuperer ma variable randomNumber dans la fonction rollTheDice()

Le dé se lance, mais ça s'arrête là.

let newGameBtn = document.getElementById('newGameBtn') let rollBtn = document.getElementById('rollDiceBtn') let holdBtn = document.getElementById('holdBtn') let total = document.getElementsByClassName('totalScore') let current = document.getElementsByClassName('currentScore') //Create each player let player1; let player2; let activePlayer = player1; let randomNumber; // Function Roll the Dice button function rollTheDice() { setTimeout(function (e) { randomNumber = Math.floor(Math.random() * 6) + 1 document.querySelector(".img").setAttribute("src", "./img-dice/dice" + randomNumber + ".png") }) } //Event RollTheDice rollBtn.addEventListener('click', rollTheDice) if (randomNumber == 1) { current.textContent = 0 switchPlayer() } else { addCurrentScore() } // Function to switch between player function switchPlayer() { if (activePlayer == player1) { activePlayer = player2; } else { activePlayer = player1; } } //function to add current score to active player function addCurrentScore() { if (activePlayer == player1) { current[0].textContent += randomNumber } else { current[1].textContent += randomNumber } }

Ce que je veux

J'aimerai pouvoir afficher le currentScore au fur et à mesure des lancers.

Ce que j'obtiens
Le 0 de ma page html se tranforme en "0undefined" mais le score ne s'affiche jamais.

Merci d'avance pour votre aide

Aucune réponse