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