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