JavaScript: Wie kann ich bei aufsteigendem Tetris-Level das Tempo erhöhen?

Ich programmiere momentan Tetris und benutze dafür CSS, HTML und JS.

Das Tempo, bei dem die Figuren momentan herunterfallen, ist 1000. Ich hatte vor, dass das Tempo bei jedem Level etwas schneller ist. Immer wenn ich den Code dann aber umsetze, glitcht das ganze Spiel und bricht ab.

Kann mir jemand weiterhelfen?

// add functionality to the button
startBtn.addEventListener('click', () => {
  if (timerId) {
    clearInterval(timerId)
    timerId = null
  }
  else {
    draw()
    timerId = setInterval(moveDown, 1000)
    nextRandom = Math.floor(Math.random() * theTetrominoes.length)
    displayShape()
  }
})

// level system
var level = 1;

window.onload = function() {
  document.getElementById("level").innerHTML = 'Level: ' + level;
}

// add score
function addScore() {
  for (let i = 0; i < 199; i += width) {
    const row = [i, i+1, i+2, i+3, i+4, i+5, i+6, i+7, i+8, i+9]

    if (score > 150) {
      var level = 2
      timerId = setInterval(moveDown, 1100)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 300) {
      var level = 3
      timerId = setInterval(moveDown, 1150)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 450) {
      var level = 4
      timerId = setInterval(moveDown, 1200)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 600) {
      var level = 5
      timerId = setInterval(moveDown, 1250)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 750) {
      var level = 6
      timerId = setInterval(moveDown, 1300)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 900) {
      var level = 7
      timerId = setInterval(moveDown, 1400)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 1050) {
      var level = 8
      timerId = setInterval(moveDown, 1500)
      document.getElementById("level").innerHTML = 'Level: ' + level;
    }

    if (score > 1200) {
      var level = 9
      timerId = setInterval(moveDown, 1600)
      document.getElementById("level").innerHTML = 'Current level: ' + level;
    }

    if (row.every(index => squares[index].classList.contains('taken'))) {
      score += 10
      scoreDisplay.innerHTML = score
      row.forEach(index => {
        squares[index].classList.remove('taken')
        squares[index].classList.remove('tetromino')
        squares[index].style.backgroundColor = ''
      })
      const squaresRemoved = squares.splice(i, width)
      squares = squaresRemoved.concat(squares)
      squares.forEach(cell => grid.appendChild(cell))
    }
  }
}
HTML, Programmieren, JavaScript, tetris, Code

Was möchtest Du wissen?