-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjscript.js
More file actions
82 lines (70 loc) · 2.24 KB
/
Copy pathjscript.js
File metadata and controls
82 lines (70 loc) · 2.24 KB
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
const $container = document.getElementById('container');
const $clicksNumber = document.getElementById('clicks');
const $timer = document.getElementById('timer');
const $clicker = document.getElementById('clicker');
const $message = document.getElementById('message');
const $timerScore = document.getElementById('timer-score');
const $reloadButton = document.getElementById('reload');
const $startButton = document.getElementById('start');
//Game Rules
const maxTime = 5;
const winScore = 10;
// Timers
let countClicks;
let timerRun;
let timerFunc;
//functions
const init = ($event) => {
const buttonId = $event.target.id;
countClicks = 0;
timerRun = maxTime;
$timer.innerHTML = timerRun;
$timerScore.innerHTML = '';
$clicksNumber.innerHTML = countClicks;
$message.classList.remove('message--fail');
$message.classList.remove('message--success');
if (buttonId == 'start') {
timerFunc = setInterval(CountDowntime, 1000);
$container.classList.add('started');
}
}
const CountDowntime = () => {
timerRun--;
$timer.innerHTML = timerRun;
checkGameState();
}
const countUpClicks = () => {
if ($container.classList.contains('started')) {
countClicks++;
$clicksNumber.innerHTML = countClicks;
checkGameState();
}else {
alert('You must start the game first!')
}
}
const checkGameState = () => {
if (timerRun === 0) {
stopGame();
if (countClicks < winScore) {
$message.classList.add('message--fail');
countClicks = 0;
}
}
if (countClicks >= winScore) {
stopGame();
$message.classList.add('message--success');
$timerScore.innerHTML = 'Your Time is: ' + (maxTime - timerRun) + ' seconds';
}
}
const stopGame = () => {
clearInterval(timerFunc);
$container.classList.remove('started');
}
//listener
$clicker.addEventListener('click', countUpClicks);
$reloadButton.addEventListener('click', init);
$startButton.addEventListener('click', init);
//Event Listeners
document.addEventListener('keyup', ($event) => {console.log($event);})
document.addEventListener('keydown', ($event) => {console.log($event);})
document.addEventListener('click', ($event) => {console.log($event);})