'use strict'; // Selecting elements const player0El = document.querySelector('.player--0'); const player1El = document.querySelector('.player--1'); const score0El = document.querySelector('#score--0'); const score1El = document.getElementById('score--1'); const current0El = document.querySelector('#current--0'); const current1El = document.querySelector('#current--1'); const diceEl = document.querySelector('.dice'); const btnNew = document.querySelector('.btn--new'); const btnRoll = document.querySelector('.btn--roll'); const btnHold = document.querySelector('.btn--hold'); // Starting conditions score0El.textContent = 0; score1El.textContent = 0; diceEl.classList.add('hidden'); let scores = [0, 0], currentScore = 0, activePlayer = 0, playing = true, dice = 0; const init = function () { scores = [0, 0]; currentScore = 0; activePlayer = 0; playing = true; dice = getDice(); diceEl.classList.add('hidden'); score0El.textContent = 0; score1El.textContent = 0; current0El.textContent = 0; current1El.textContent = 0; player0El.classList.remove('player--winner'); player1El.classList.remove('player--winner'); if ( !document .querySelector(`.player--${activePlayer}`) .classList.contains('player--active') ) { player0El.classList.add('active--player'); player1El.classList.remove('active--player'); } }; init(); function getDice() { return Math.trunc(Math.random() * 6) + 1; } const switchPlayer = function () { document.getElementById(`current--${activePlayer}`).textContent = 0; currentScore = 0; activePlayer = activePlayer === 0 ? 1 : 0; player0El.classList.toggle('player--active'); player1El.classList.toggle('player--active'); }; // Rolling dice funtionality btnRoll.addEventListener('click', function () { if (playing) { // 1. Generating a random dice roll const dice = getDice(); console.log(dice); // 2. Display a dice diceEl.classList.remove('hidden'); diceEl.src = `dice-${dice}.png`; // 3. Check for rolled 1: if true, switch to next player if (dice !== 1) { // Add dice to current score currentScore += dice; document.getElementById(`current--${activePlayer}`).textContent = currentScore; } else { // Switch to next player switchPlayer(); } } }); btnHold.addEventListener('click', function (event) { if (playing) { // 1. Add currentScore to active player's score scores[activePlayer] += currentScore; document.getElementById(`score--${activePlayer}`).textContent = scores[activePlayer]; // 2. Check if player's score is more than 100 if (scores[activePlayer] >= 100) { // Finish the game playing = false; diceEl.classList.add('hidden'); document .querySelector(`.player--${activePlayer}`) .classList.add('player--winner'); document .querySelector(`.player--${activePlayer}`) .classList.remove('player--active'); } else { switchPlayer(); } } }); // Restart the game btnNew.addEventListener('click', init);