resume & prevent close

This commit is contained in:
Adrien MALINGREY 2023-04-24 14:11:20 +02:00
parent 6498571656
commit e0e46c4fa7

7
app.js
View File

@ -583,6 +583,7 @@ let stats = new Stats()
let holdQueue = new MinoesTable("holdTable") let holdQueue = new MinoesTable("holdTable")
let matrix = new PlayfieldMatrix("matrixTable") let matrix = new PlayfieldMatrix("matrixTable")
let nextQueue = new NextQueue("nextTable") let nextQueue = new NextQueue("nextTable")
let playing = false
function pause() { function pause() {
@ -620,6 +621,7 @@ function newGame(event) {
stats.goal = 0 stats.goal = 0
stats.level = levelInput.valueAsNumber stats.level = levelInput.valueAsNumber
localStorage["startLevel"] = levelInput.value localStorage["startLevel"] = levelInput.value
playing = true
resume(event) resume(event)
} }
} }
@ -639,7 +641,8 @@ function resume(event) {
stats.time = stats.pauseTime stats.time = stats.pauseTime
scheduler.setInterval(ticktack, 1000) scheduler.setInterval(ticktack, 1000)
if (!matrix.piece) generate() if (matrix.piece) scheduler.setInterval(fall, stats.fallPeriod)
else generate()
} }
} }
@ -803,6 +806,7 @@ function gameOver() {
document.onkeydown = null document.onkeydown = null
onblur = null onblur = null
scheduler.clearInterval(ticktack) scheduler.clearInterval(ticktack)
playing = false
messagesSpan.onanimationend = null messagesSpan.onanimationend = null
messagesSpan.addNewChild("div", { messagesSpan.addNewChild("div", {
@ -817,6 +821,7 @@ window.onbeforeunload = function(event) {
for (let input of settings.form.getElementsByTagName("input")) { for (let input of settings.form.getElementsByTagName("input")) {
localStorage[input.name] = input.value localStorage[input.name] = input.value
} }
if (playing) return false;
} }
if ('serviceWorker' in navigator) { if ('serviceWorker' in navigator) {