diff --git a/src/load.js b/src/load.js index 476d5c0..00f006e 100644 --- a/src/load.js +++ b/src/load.js @@ -106,7 +106,7 @@ var loadState = { }, loadTime: function (response) { - if (!response.success) { + if (!response.success || !response.scores[0]) { return; } var i = parseInt(response.scores[0].extra_data, 10) - 1; @@ -117,7 +117,7 @@ var loadState = { }, loadTotal: function (response) { - if (!response.success) { + if (!response.success || !response.scores[0]) { return; } game.totalTime = { diff --git a/src/play.js b/src/play.js index e1b46ec..361cf33 100644 --- a/src/play.js +++ b/src/play.js @@ -336,14 +336,15 @@ var playState = { game.currentLevel ); } - game.times[game.currentLevel - 1].int = Math.min( - this.lastMovement, - game.times[game.currentLevel - 1].int - ); - game.times[game.currentLevel - 1].string = - Math.floor(game.times[game.currentLevel - 1].int / 60) + ':' + - (game.times[game.currentLevel - 1].int % 60 < 10 ? '0' : '') + - game.times[game.currentLevel - 1].int % 60; + if (!game.times[game.currentLevel - 1] || + game.times[game.currentLevel - 1].int > this.lastMovement) { + game.times[game.currentLevel - 1] = { + int: this.lastMovement, + string: Math.floor(this.lastMovement / 60) + ':' + + (this.lastMovement % 60 < 10 ? '0' : '') + + this.lastMovement % 60 + } + } if (game.progress > 20) { game.totalTime = { @@ -382,7 +383,7 @@ var playState = { updateTotal: function (response) { if (response.success) { - if (game.totalTime.int < parseInt(response.scores[0].sort, 10)) { + if (game.totalTime.int > parseInt(response.scores[0].sort, 10)) { return; } }