GarGerry commited on
Commit
03d9c2e
·
verified ·
1 Parent(s): 6d4d4d9

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +38 -22
index.html CHANGED
@@ -8,16 +8,23 @@
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
- <span class="life">♥️</span>
20
  </div>
 
 
 
 
 
 
 
 
 
 
21
  </div>
22
 
23
  <script>
@@ -29,13 +36,14 @@
29
 
30
  let currentScore = 0;
31
  let level = 1;
 
32
  let platformX = window.innerWidth / 2 - 50;
33
  platform.style.left = platformX + "px";
34
 
35
  let remainingLives = 4;
36
  let ballY = -30;
37
  let ballX = Math.floor(Math.random() * (window.innerWidth - 30));
38
- let ballSpeed = 3; // Increased speed
39
  let isTouching = false;
40
 
41
  // Kontrol menggunakan Mouse
@@ -70,17 +78,20 @@
70
  });
71
 
72
  let updateLives = () => {
73
- let hearts = '';
74
- for (let i = 0; i < remainingLives; i++) {
75
- hearts += '♥️';
 
 
 
 
76
  }
77
- livesDisplay.innerHTML = hearts;
78
  };
79
 
80
  let updateBallPosition = () => {
81
  ballY += ballSpeed;
82
 
83
- // Update ball position directly with JavaScript
84
  ball.style.top = ballY + "px";
85
  ball.style.left = ballX + "px";
86
 
@@ -94,27 +105,31 @@
94
  if (currentScore % 10 === 0) {
95
  level++;
96
  levelDisplay.innerHTML = "Level: " + level;
97
- ballSpeed += 0.2; // Increase ball speed every 10 points
 
98
  }
99
  score.innerHTML = "Score: " + currentScore;
100
  resetBall();
101
  }
102
  } else if (ballY >= window.innerHeight) {
103
  // Ball missed the platform
104
- if (remainingLives > 0) {
105
- remainingLives--;
106
- updateLives();
107
- resetBall();
108
- }
109
-
110
  if (remainingLives <= 0) {
111
  alert("Game Over! Your score is: " + currentScore);
112
  resetGame();
113
  }
 
114
  }
115
  };
116
 
117
  let resetBall = () => {
 
 
 
 
 
 
118
  ballY = -30; // Reset ball to start position
119
  ballX = Math.floor(Math.random() * (window.innerWidth - 30)); // New random X position
120
  ball.style.top = ballY + "px";
@@ -125,7 +140,8 @@
125
  remainingLives = 4;
126
  currentScore = 0;
127
  level = 1;
128
- ballSpeed = 3; // Start with a faster speed
 
129
  score.innerHTML = "Score: " + currentScore;
130
  levelDisplay.innerHTML = "Level: " + level;
131
  updateLives();
 
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
  </div>
29
 
30
  <script>
 
36
 
37
  let currentScore = 0;
38
  let level = 1;
39
+ let fallSpeed = 3; // Initial fall speed (seconds)
40
  let platformX = window.innerWidth / 2 - 50;
41
  platform.style.left = platformX + "px";
42
 
43
  let remainingLives = 4;
44
  let ballY = -30;
45
  let ballX = Math.floor(Math.random() * (window.innerWidth - 30));
46
+ let ballSpeed = 2; // Ball fall speed per frame
47
  let isTouching = false;
48
 
49
  // Kontrol menggunakan Mouse
 
78
  });
79
 
80
  let updateLives = () => {
81
+ for (let i = 1; i <= 4; i++) {
82
+ let life = document.getElementById(`life${i}`);
83
+ if (i > remainingLives) {
84
+ life.style.visibility = "hidden";
85
+ } else {
86
+ life.style.visibility = "visible";
87
+ }
88
  }
 
89
  };
90
 
91
  let updateBallPosition = () => {
92
  ballY += ballSpeed;
93
 
94
+ // Update ball position
95
  ball.style.top = ballY + "px";
96
  ball.style.left = ballX + "px";
97
 
 
105
  if (currentScore % 10 === 0) {
106
  level++;
107
  levelDisplay.innerHTML = "Level: " + level;
108
+ fallSpeed -= 0.2;
109
+ ballSpeed += 0.1; // Make ball fall faster
110
  }
111
  score.innerHTML = "Score: " + currentScore;
112
  resetBall();
113
  }
114
  } else if (ballY >= window.innerHeight) {
115
  // Ball missed the platform
116
+ remainingLives--;
117
+ updateLives();
 
 
 
 
118
  if (remainingLives <= 0) {
119
  alert("Game Over! Your score is: " + currentScore);
120
  resetGame();
121
  }
122
+ resetBall();
123
  }
124
  };
125
 
126
  let resetBall = () => {
127
+ // Stop the animation when ball is reset
128
+ ball.style.animation = 'none';
129
+ setTimeout(() => {
130
+ ball.style.animation = `fall ${fallSpeed}s linear infinite`;
131
+ }, 50); // Delay to restart the animation
132
+
133
  ballY = -30; // Reset ball to start position
134
  ballX = Math.floor(Math.random() * (window.innerWidth - 30)); // New random X position
135
  ball.style.top = ballY + "px";
 
140
  remainingLives = 4;
141
  currentScore = 0;
142
  level = 1;
143
+ ballSpeed = 2;
144
+ fallSpeed = 3;
145
  score.innerHTML = "Score: " + currentScore;
146
  levelDisplay.innerHTML = "Level: " + level;
147
  updateLives();