-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.js
78 lines (66 loc) · 2.53 KB
/
game.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
const gameContainer = document.getElementById("gameContainer");
const stopButton = document.getElementById("stopButton");
const startButton = document.getElementById("startButton");
// const speedUpButton = document.getElementById("speedUpButton");
stopButton.style.display = "none";
var baloonPoppedCounter = 0;
let interval;
let balloonInterval = 1000; // Initial interval duration (in milliseconds)
console.log("initial Balloon interval:", balloonInterval, "ms");
startButton.addEventListener("click", startGame);
stopButton.addEventListener("click", stopGame);
// speedUpButton.addEventListener("click", speedUpGame);
function startGame() {
gameContainer.innerHTML = '';
startButton.style.display = "none";
stopButton.style.display = "block";
createBalloon();
}
function stopGame() {
startButton.style.display = "block";
stopButton.style.display = "none";
clearInterval(interval);
gameContainer.innerHTML = `Game Over - you have popped ${baloonPoppedCounter} Baloons !`;
baloonPoppedCounter = 0;
}
// function speedUpGame() {
// // Reduce the balloon interval by a certain amount
// balloonInterval = Math.max(balloonInterval - 500, 10); // Minimum interval of 10ms
// console.log("Balloon interval:", balloonInterval, "ms");
// }
function createBalloon() {
const balloon = document.createElement("div");
balloon.className = "balloon";
let balloonCount = 0;
interval = setInterval(() => {
if (balloonCount < 100) {
// Maximum balloons to prevent excessive generation
balloonCount++;
const balloon = document.createElement("div");
balloon.className = "balloon";
balloon.addEventListener("click", () => {
popBalloon(balloon);
baloonPoppedCounter = baloonPoppedCounter +1;
console.log('you have popped ' + baloonPoppedCounter);
});
const column = Math.floor(Math.random() * 4); // Random column
const leftPosition = (column / 4) * 100 + "%";
balloon.style.left = leftPosition;
gameContainer.appendChild(balloon);
} else {
clearInterval(interval);
}
}, balloonInterval); // Generate a balloon every <prescribed> seconds
balloon.addEventListener("animationend", () => {
gameContainer.removeChild(balloon);
});
}
function popBalloon(balloon) {
balloon.style.animation = "none";
balloon.innerHTML = "";
balloon.classList.remove("balloon");
balloon.classList.add("explode-balloon");
setTimeout(() => {
gameContainer.removeChild(balloon);
}, 550);
}