下面是我编写的排序/保存代码,尽管此代码无法正确排序分数。它为每个高分值创建和数组,而不是仅仅拼接名称和结果。
此功能将所有已保存的分数排序并添加到我的高分数组中。如果数组长度超过10,它也会删除最低分数。
function scoreSort() {
if(that < 10) {
that ++;
highscores.splice((highscores.length), 0,
JSON.parse(localStorage.getItem(that)));
}
highscores.sort(function(a, b) {return b.score - a.score});
if(highscores.length > 10) highscores.splice(10, 1);
}
这个分隔所有不同的已保存字符串,这样我就不会在同一行上得到所有分数。
function localStore() {
localStorage.getItem(number);
number += JSON.parse(localStorage.getItem("numbr"));
localStorage.setItem("numbr", JSON.stringify(number));
}
在这里,我只是将得分保存起来。
function saveScore() {
localStorage.setItem(JSON.stringify(number), JSON.stringify(highscores));
}
if (playerHP == 0) {
highscores.splice(1, 0, {name: username, score: score});
gameState = 'gameover';
localStore();
saveScore();
localStorage.setItem(JSON.stringify(number), JSON.stringify(highscores));
}
我意识到这可能很难解释和格式化,但我是新手,所以我感谢所有帮助。