Enable player to speed up game
This commit is contained in:
parent
07424dd662
commit
04ee870a5e
30
game.js
30
game.js
|
@ -40,6 +40,8 @@ class Game {
|
||||||
this.isMoving = false;
|
this.isMoving = false;
|
||||||
this.isPaused = false;
|
this.isPaused = false;
|
||||||
this.isGameOver = false;
|
this.isGameOver = false;
|
||||||
|
this.speed = 1;
|
||||||
|
this.lastSpeedUp = 0;
|
||||||
|
|
||||||
this.coinAngle = 0;
|
this.coinAngle = 0;
|
||||||
this.mousePos = null;
|
this.mousePos = null;
|
||||||
|
@ -156,6 +158,7 @@ class Game {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.isMoving = true;
|
this.isMoving = true;
|
||||||
|
this.lastSpeedUp = Date.now();
|
||||||
|
|
||||||
const dir = this.calcMouseAngle();
|
const dir = this.calcMouseAngle();
|
||||||
const ballCount = this.ballCount;
|
const ballCount = this.ballCount;
|
||||||
|
@ -172,6 +175,10 @@ class Game {
|
||||||
}
|
}
|
||||||
|
|
||||||
roundOver() {
|
roundOver() {
|
||||||
|
this.speed = 1;
|
||||||
|
this.lastSpeedUp = Date.now();
|
||||||
|
this.elements.speedUpContainer.innerHTML = "";
|
||||||
|
|
||||||
this.ballCount += this.newBalls;
|
this.ballCount += this.newBalls;
|
||||||
this.newBalls = 0;
|
this.newBalls = 0;
|
||||||
this.remainingBalls = this.ballCount;
|
this.remainingBalls = this.ballCount;
|
||||||
|
@ -259,9 +266,24 @@ class Game {
|
||||||
ball.update(10);
|
ball.update(10);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.coinAngle += .05;
|
this.coinAngle += .05;
|
||||||
if (this.coinAngle >= 2 * Math.PI) {
|
if (this.coinAngle >= 2 * Math.PI) {
|
||||||
this.coinAngle -= 2 * Math.PI;
|
this.coinAngle -= 2 * Math.PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.isMoving && Date.now() - this.lastSpeedUp >= 10000) {
|
||||||
|
const button = document.createElement('button');
|
||||||
|
button.innerText = 'FASTER';
|
||||||
|
this.elements.speedUpContainer.innerHTML = "";
|
||||||
|
this.elements.speedUpContainer.appendChild(button);
|
||||||
|
|
||||||
|
button.addEventListener('click', () => {
|
||||||
|
this.speed *= 2;
|
||||||
|
button.remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
this.lastSpeedUp = Date.now();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.isPaused && !this.isGameOver) {
|
if (!this.isPaused && !this.isGameOver) {
|
||||||
|
@ -278,6 +300,7 @@ class Game {
|
||||||
|
|
||||||
play() {
|
play() {
|
||||||
this.isPaused = false;
|
this.isPaused = false;
|
||||||
|
this.lastSpeedUp = Date.now();
|
||||||
this.update();
|
this.update();
|
||||||
this.draw();
|
this.draw();
|
||||||
|
|
||||||
|
@ -293,6 +316,7 @@ class Game {
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
|
this.elements.gameOverMenu.classList.remove('shown');
|
||||||
this.removeEventListeners();
|
this.removeEventListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<h3 id="coin-count">0</h3>
|
<h3 id="coin-count">0</h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div></div>
|
<div class="speed-up-container"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="game-container">
|
<div class="game-container">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user