-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
99 lines (89 loc) · 3.18 KB
/
index.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
const homeScore = document.getElementById("home-score")
const guestScore = document.getElementById("guest-score")
const header = document.getElementById("header")
const container = document.querySelector(".container")
const containerEl = document.getElementById("container-el")
const homeLead = document.getElementById("home-lead")
const guestLead = document.getElementById("guest-lead")
const resetBtn = document.getElementById("reset")
const audio = new Audio('Buzzer.mp3')
let homeCounter = 0;
let guestCounter = 0;
container.addEventListener("click", function (e) {
// console.log(e.target.dataset.homePoints)
// console.log(e.target.dataset.guestPoints)
const target = e.target
// console.log(e.target)
const homePoints = target.dataset.homePoints
const guestPoints = target.dataset.guestPoints
if (homePoints && homeCounter < 21) {
// console.log(homePoints)
homeCounter += +homePoints
// console.log(homeCounter)
homeScore.textContent = homeCounter
}
if (guestPoints && guestCounter < 21) {
// console.log(homePoints)
guestCounter += +guestPoints
// console.log(homeCounter)
guestScore.textContent = guestCounter
}
highlight()
})
function highlight() {
homeScore.classList.toggle("highlight", homeCounter > guestCounter)
guestScore.classList.toggle("highlight", guestCounter > homeCounter)
homeLead.classList.toggle("lead", homeCounter > guestCounter)
guestLead.classList.toggle("lead", guestCounter > homeCounter)
if (homeCounter >= 21 || guestCounter >= 21) {
const buttons = document.getElementsByTagName("button")
for (const button of buttons) {
button.disabled = true
}
resetBtn.disabled = false
showWinner()
}}
function reset() {
homeCounter = 0
guestCounter = 0
homeScore.textContent = homeCounter
guestScore.textContent = guestCounter
header.style.color = "red"
header.style.textShadow = '-2px -2px #000000';
header.innerHTML = "First to 21 Wins!"
homeScore.classList.remove("highlight")
guestScore.classList.remove("highlight")
homeLead.classList.remove("lead")
guestLead.classList.remove("lead")
homeScore.style.background = "#000000"
guestScore.style.background = "#000000"
containerEl.setAttribute('style', 'pointer-events: auto')
const buttons = document.getElementsByTagName("button")
for (const button of buttons) {
button.disabled = false;
}
}
function showWinner() {
if (homeCounter >= 21) {
header.style.color = '#008000';
homeScore.style.background = "#ffffff"
audio.play()
header.textContent = "Home Wins!"
} else if (guestCounter >= 21) {
header.style.color = '#008000'
guestScore.style.background = "#ffffff"
audio.play()
header.textContent = "Guest Wins!"
}
confetti()
containerEl.setAttribute('style', 'pointer-events: none')
}
function confetti() {
const jsConfetti = new JSConfetti()
jsConfetti.addConfetti({
emojis: ['🏀'],
confettiNumber: 100,
emojiSize: 100
})
jsConfetti.addConfetti()
}