Доброго времени суток!
Почти до делал змейку на canvas, осталась увеличение скорости змейки.
И так:
Это общий код игры из файла game
this.speedBomb = 3000;
this.speedSnake = 250;
//отрисовка игры
this.gameInterval = setInterval(() => {
if (!this.gamePaused) {
this.update();
}
}, game.speedSnake);
//отрисовка бомбы
this.bombInterval = setInterval(() => {
if (!this.gamePaused) {
this.board.createBomb();
}
Это код файла змейки, естественно, они связаны
game.snake = {
game: game
..........................
}
//Если новая ячейка является яблоком
if (this.game.playSound) {
this.game.sounds.food.play();
}
this.game.playerScore++;
this.game.myScore.innerText = this.game.playerScore;
if (this.game.playerScore % 5 === 0) {
clearInterval(this.game.gameInterval);
this.game.speedSnake -= 1;
this.gameInterval = setInterval(() => {
if (!this.game.gamePaused) {
this.game.update();
}
}, this.game.speedSnake);
clearInterval(this.game.bombInterval);
this.game.speedBomb -= 100;
console.log(this.game.speedBomb);
this.bombInterval = setInterval(() => {
if (!this.game.gamePaused) {
this.game.board.createBomb();
}
}, this.game.speedBomb);
}
this.game.board.createFood();
}
И, казалось бы, все работает, и this.game.speedSnake выводится с положенным ей числом, уменьшенным на 1.
Но скорость змейки на вид растет явно не по this.game.speedSnake
Когда this.game.speedSnake = 248, змейка уже бегает, как будто скорость отнимается по 10 или побольше.
Как так? Что не правильно?
Благодарю!