-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
166 lines (154 loc) · 5.19 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
'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.querySelector('#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
let scores, currentScore, activePlayer, playing;
const init = function () {
scores = [0, 0];
currentScore = 0;
activePlayer = 0;
playing = true;
score0El.textContent = 0;
score1El.textContent = 0;
diceEl.classList.add('hidden');
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');
};
init();
const switchPlayer = function () {
document.querySelector(`#current--${activePlayer}`).textContent = 0;
currentScore = 0;
activePlayer = activePlayer === 0 ? 1 : 0;
player0El.classList.toggle('player--active');
player1El.classList.toggle('player--active');
};
//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.querySelector(`#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.querySelector(`#score--${activePlayer}`).textContent =
scores[activePlayer];
//2.check if player's score is >= 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 {
//switch to the next player
switchPlayer();
}
}
});
btnNew.addEventListener('click', init);*/
const player0El = document.querySelector('.player--0');
const player1El = document.querySelector('.player--1');
const score0 = document.querySelector('#score--0');
const score1 = document.querySelector('#score--1');
const current0 = document.querySelector('#current--0');
const current1 = document.querySelector('#current--1');
const dice = document.querySelector('.dice');
const btnNew = document.querySelector('.btn--new');
const btnRoll = document.querySelector('.btn--roll');
const btnHold = document.querySelector('.btn--hold');
dice.classList.add('hidden');
let scores = [0, 0];
score0.textContent = 0;
score1.textContent = 0;
let currentScore = 0;
let activePlayer = 0;
let playing = true;
btnRoll.addEventListener('click', function () {
if (playing) {
let diceNum = Math.trunc(Math.random() * 6) + 1;
dice.classList.remove('hidden');
dice.src = `dice-${diceNum}.png`;
if (diceNum !== 1) {
currentScore += diceNum;
document.querySelector(`#current--${activePlayer}`).textContent =
currentScore;
} else {
document.querySelector(`#current--${activePlayer}`).textContent = 0;
activePlayer = activePlayer === 0 ? 1 : 0;
currentScore = 0;
player0El.classList.toggle('player--active');
player1El.classList.toggle('player--active');
}
}
});
btnHold.addEventListener('click', function () {
if (playing) {
scores[activePlayer] += currentScore;
document.querySelector(`#score--${activePlayer}`).textContent =
scores[activePlayer];
if (scores[activePlayer] >= 20) {
playing = false;
document
.querySelector(`.player--${activePlayer}`)
.classList.add('player--winner');
dice.classList.add('hidden');
player0El.classList.remove('player--active');
player1El.classList.remove('player--active');
} else {
document.querySelector(`#current--${activePlayer}`).textContent = 0;
activePlayer = activePlayer === 0 ? 1 : 0;
currentScore = 0;
player0El.classList.toggle('player--active');
player1El.classList.toggle('player--active');
}
}
});
btnNew.addEventListener('click', function () {
dice.classList.add('hidden');
scores = [0, 0];
score0.textContent = 0;
score1.textContent = 0;
currentScore = 0;
activePlayer = 0;
playing = true;
player0El.classList.add('player--active');
player1El.classList.remove('player--active');
current0.textContent = 0;
current1.textContent = 0;
player0El.classList.remove('player--winner');
player1El.classList.remove('player--winner');
});