GarGerry commited on
Commit
42f50f1
·
verified ·
1 Parent(s): 376801a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +25 -57
index.html CHANGED
@@ -8,29 +8,14 @@
8
  </head>
9
  <body>
10
  <div class="game-container">
11
- <!-- Nyawa (♥️) ditempatkan di bagian atas layar -->
12
- <div id="lives">
13
- <span class="life">❤️</span>
14
- <span class="life">❤️</span>
15
- <span class="life">❤️</span>
16
- <span class="life">❤️</span>
17
- </div>
18
-
19
- <!-- Skor dan Level di posisi kiri dan kanan atas -->
20
  <div id="score">Score: 0</div>
21
  <div id="level">Level: 1</div>
22
-
23
- <!-- Platform yang dikendalikan oleh pemain -->
24
- <div id="platform" class="platform"></div>
25
-
26
- <!-- Bola yang akan jatuh -->
27
- <div id="ball" class="ball"></div>
28
-
29
- <!-- Game Over -->
30
- <div id="game-over" class="game-over" style="display: none;">
31
- <h2>Game Over!</h2>
32
- <p>Your Score: <span id="final-score">0</span></p>
33
- <button id="restart-btn" onclick="restartGame()">Restart</button>
34
  </div>
35
  </div>
36
 
@@ -40,19 +25,16 @@
40
  let score = document.getElementById("score");
41
  let levelDisplay = document.getElementById("level");
42
  let livesDisplay = document.getElementById("lives");
43
- let gameOverDisplay = document.getElementById("game-over");
44
- let finalScoreDisplay = document.getElementById("final-score");
45
 
46
  let currentScore = 0;
47
  let level = 1;
48
- let fallSpeed = 3; // Initial fall speed (seconds)
49
  let platformX = window.innerWidth / 2 - 50;
50
  platform.style.left = platformX + "px";
51
 
52
- let remainingLives = 4;
53
  let ballY = -30;
54
  let ballX = Math.floor(Math.random() * (window.innerWidth - 30));
55
- let ballSpeed = 2; // Ball fall speed per frame
56
  let isTouching = false;
57
 
58
  // Kontrol menggunakan Mouse
@@ -87,20 +69,17 @@
87
  });
88
 
89
  let updateLives = () => {
90
- for (let i = 1; i <= 4; i++) {
91
- let life = document.getElementById(`life${i}`);
92
- if (i > remainingLives) {
93
- life.style.visibility = "hidden";
94
- } else {
95
- life.style.visibility = "visible";
96
- }
97
  }
 
98
  };
99
 
100
  let updateBallPosition = () => {
101
  ballY += ballSpeed;
102
 
103
- // Update ball position
104
  ball.style.top = ballY + "px";
105
  ball.style.left = ballX + "px";
106
 
@@ -114,53 +93,42 @@
114
  if (currentScore % 10 === 0) {
115
  level++;
116
  levelDisplay.innerHTML = "Level: " + level;
117
- fallSpeed -= 0.2;
118
- ballSpeed += 0.1; // Make ball fall faster
119
  }
120
  score.innerHTML = "Score: " + currentScore;
121
  resetBall();
122
  }
123
  } else if (ballY >= window.innerHeight) {
124
  // Ball missed the platform
125
- remainingLives--;
126
- updateLives();
 
 
 
 
127
  if (remainingLives <= 0) {
128
- gameOver();
 
129
  }
130
- resetBall();
131
  }
132
  };
133
 
134
  let resetBall = () => {
135
- // Stop the animation when ball is reset
136
- ball.style.animation = 'none';
137
- setTimeout(() => {
138
- ball.style.animation = `fall ${fallSpeed}s linear infinite`;
139
- }, 50); // Delay to restart the animation
140
-
141
  ballY = -30; // Reset ball to start position
142
  ballX = Math.floor(Math.random() * (window.innerWidth - 30)); // New random X position
143
  ball.style.top = ballY + "px";
144
  ball.style.left = ballX + "px";
145
  };
146
 
147
- let gameOver = () => {
148
- finalScoreDisplay.textContent = currentScore;
149
- gameOverDisplay.style.display = "block";
150
- };
151
-
152
- let restartGame = () => {
153
- remainingLives = 4;
154
  currentScore = 0;
155
  level = 1;
156
- ballSpeed = 2;
157
- fallSpeed = 3;
158
  score.innerHTML = "Score: " + currentScore;
159
  levelDisplay.innerHTML = "Level: " + level;
160
  updateLives();
161
- gameOverDisplay.style.display = "none";
162
  resetBall();
163
- gameLoop();
164
  };
165
 
166
  let gameLoop = () => {
 
8
  </head>
9
  <body>
10
  <div class="game-container">
11
+ <div id="ball" class="ball"></div>
12
+ <div id="platform" class="platform"></div>
 
 
 
 
 
 
 
13
  <div id="score">Score: 0</div>
14
  <div id="level">Level: 1</div>
15
+ <div id="lives">
16
+ <span class="life">♥️</span>
17
+ <span class="life">♥️</span>
18
+ <span class="life">♥️</span>
 
 
 
 
 
 
 
 
19
  </div>
20
  </div>
21
 
 
25
  let score = document.getElementById("score");
26
  let levelDisplay = document.getElementById("level");
27
  let livesDisplay = document.getElementById("lives");
 
 
28
 
29
  let currentScore = 0;
30
  let level = 1;
 
31
  let platformX = window.innerWidth / 2 - 50;
32
  platform.style.left = platformX + "px";
33
 
34
+ let remainingLives = 3;
35
  let ballY = -30;
36
  let ballX = Math.floor(Math.random() * (window.innerWidth - 30));
37
+ let ballSpeed = 3; // Increased speed
38
  let isTouching = false;
39
 
40
  // Kontrol menggunakan Mouse
 
69
  });
70
 
71
  let updateLives = () => {
72
+ let hearts = '';
73
+ for (let i = 0; i < remainingLives; i++) {
74
+ hearts += '♥️';
 
 
 
 
75
  }
76
+ livesDisplay.innerHTML = hearts;
77
  };
78
 
79
  let updateBallPosition = () => {
80
  ballY += ballSpeed;
81
 
82
+ // Update ball position directly with JavaScript
83
  ball.style.top = ballY + "px";
84
  ball.style.left = ballX + "px";
85
 
 
93
  if (currentScore % 10 === 0) {
94
  level++;
95
  levelDisplay.innerHTML = "Level: " + level;
96
+ ballSpeed += 0.2; // Increase ball speed every 10 points
 
97
  }
98
  score.innerHTML = "Score: " + currentScore;
99
  resetBall();
100
  }
101
  } else if (ballY >= window.innerHeight) {
102
  // Ball missed the platform
103
+ if (remainingLives > 0) {
104
+ remainingLives--;
105
+ updateLives();
106
+ resetBall();
107
+ }
108
+
109
  if (remainingLives <= 0) {
110
+ alert("Game Over! Your score is: " + currentScore);
111
+ resetGame();
112
  }
 
113
  }
114
  };
115
 
116
  let resetBall = () => {
 
 
 
 
 
 
117
  ballY = -30; // Reset ball to start position
118
  ballX = Math.floor(Math.random() * (window.innerWidth - 30)); // New random X position
119
  ball.style.top = ballY + "px";
120
  ball.style.left = ballX + "px";
121
  };
122
 
123
+ let resetGame = () => {
124
+ remainingLives = 3;
 
 
 
 
 
125
  currentScore = 0;
126
  level = 1;
127
+ ballSpeed = 3; // Start with a faster speed
 
128
  score.innerHTML = "Score: " + currentScore;
129
  levelDisplay.innerHTML = "Level: " + level;
130
  updateLives();
 
131
  resetBall();
 
132
  };
133
 
134
  let gameLoop = () => {