-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
114 lines (98 loc) · 3.2 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
"use strict";
// Rule
const guide = function () {
alert(`1. If the value of dice is 1, then your current score will be 0.
2. If you click the hold button, your current score will be added to your
total score and then it will be the next player's turn to play.
3. Which will have the first total score of 100. He will be the winner.`);
};
// Selecting Elements
const player0El = document.querySelector(".player--0");
const player1El = document.querySelector(".player--1");
let score0El = document.querySelector("#score--0");
let score1El = document.getElementById("score--1");
let current0El = document.getElementById("current--0");
let current1El = document.getElementById("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");
const btnRule = document.querySelector(".btn--rule");
//Starting conditions
let scores, currentScore, activePlayer, playing;
const init = function () {
scores = [0, 0];
currentScore = 0;
activePlayer = 0;
playing = true;
score0El.textContent = 0;
score1El.textContent = 0;
current0El.textContent = 0;
current1El.textContent = 0;
diceEl.classList.add("hidden");
player0El.classList.remove("player--winner");
player1El.classList.remove("player--winner");
player0El.classList.add("player--active");
player1El.classList.remove("player--active");
diceEl.classList.add("hidden");
};
init();
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");
};
guide();
//Rolling dice functionally
btnRoll.addEventListener("click", function () {
if (playing === true) {
// 1.Generating a random dice roll
const dice = Math.trunc(Math.random() * 6) + 1;
// 2.Display dice
diceEl.classList.remove("hidden");
diceEl.src = `../pigGame/img/dice-${dice}.png`;
// 3.Check for Roll
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 === true) {
// 1. add current score to active player score
scores[activePlayer] += currentScore;
// score[1] = score[1]+ currentscore
document.getElementById(`score--${activePlayer}`).textContent =
scores[activePlayer];
// 2. check if player's score is <= 100
if (scores[activePlayer] >= 100) {
//finish the game
playing = false;
document
.querySelector(`.player--${activePlayer}`)
.classList.add("player--winner");
document
.querySelector(`.player--${activePlayer}`)
.classList.remove("player--active");
} else {
// 3. switch to next player
switchPlayer();
}
}
});
btnRule.addEventListener("click", function () {
guide();
});
btnNew.addEventListener("click", function () {
guide();
init();
});