(JavaScript) Pig Game Logic

(JavaScript) Pig Game Logic

let scores, currentScore, activePlayer, playing;

// Starting conditions

const init = function () {

currentScore = 0;

activePlayer = 0;

playing = true;

scores = [0, 0];

player0El.classList.add('player--active');

player1El.classList.remove('player--active');

player0El.classList.remove('player--winner');

player1El.classList.remove('player--winner');

diceEl.classList.add('hidden');

score0El.textContent = currentScore;

score1El.textContent = currentScore;

current0El.textContent = currentScore;

current1El.textContent = currentScore;

};

const switchPlayer = function () {

currentScore = 0;

document.getElementById(`current--${activePlayer}`).textContent =

currentScore;

activePlayer = activePlayer === 0 ? 1 : 0;

player0El.classList.toggle('player--active');

player1El.classList.toggle('player--active');

};

init();

// Rolling dice functionality

btnRoll.addEventListener('click', function () {

if (playing) {

// 1. Generating a random dice roll

const dice = Math.trunc(Math.random() * 6) + 1;

// 2. Display dice

diceEl.classList.remove('hidden');

diceEl.src = `dice-${dice}.png`;

// 3. Check for rolled 1

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 () {

if (playing) {

// 1. Add current score to active player's score

scores[activePlayer] += currentScore;

document.getElementById(`score--${activePlayer}`).textContent =

scores[activePlayer];

// 2. Check if player's scre is >= 100

if (scores[activePlayer] >= 10) {

// Finish game

playing = false;

document

.querySelector(`.player--${activePlayer}`)

.classList.add('player--winner');

document

.querySelector(`.player--${activePlayer}`)

.classList.remove('player--active');

diceEl.classList.add('hidden');

} else {

// Switch next player

switchPlayer();

}

}

});

btnNew.addEventListener('click', init);

from http://haramang.tistory.com/98 by ccl(A) rewrite - 2021-10-30 21:01:58