Implement high-score function
This commit is contained in:
parent
558b75b3c6
commit
631f5e484f
@ -41,6 +41,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text-center">
|
<div class="col-12 text-center">
|
||||||
<div class="h2">Current Score: <span id="score" style="color: violet;">0</span></div>
|
<div class="h2">Current Score: <span id="score" style="color: violet;">0</span></div>
|
||||||
|
<div class="h4">Personal Highscore: <span id="highscore" style="color: violet;">0</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt-3">
|
<div class="row mt-3">
|
||||||
|
14
game.js
14
game.js
@ -6,6 +6,15 @@ var nextCpu;
|
|||||||
|
|
||||||
// current user score
|
// current user score
|
||||||
var score;
|
var score;
|
||||||
|
var highscore;
|
||||||
|
|
||||||
|
function setHighscore(score) {
|
||||||
|
const currHighscore = localStorage.getItem("highscore_cpu")
|
||||||
|
if (currHighscore < score) {
|
||||||
|
localStorage.setItem("highscore_cpu", score)
|
||||||
|
highscore = score
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export async function main() {
|
export async function main() {
|
||||||
await fetch('./data.json')
|
await fetch('./data.json')
|
||||||
@ -15,6 +24,7 @@ export async function main() {
|
|||||||
currentCpu = getRandomCpu();
|
currentCpu = getRandomCpu();
|
||||||
nextCpu = getRandomCpu();
|
nextCpu = getRandomCpu();
|
||||||
score = 0;
|
score = 0;
|
||||||
|
highscore = localStorage.getItem("highscore_cpu") ?? 0
|
||||||
updateLayout();
|
updateLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,6 +49,9 @@ function showResult(isCorrect) {
|
|||||||
document.getElementById("btnLower").setAttribute("disabled", "");
|
document.getElementById("btnLower").setAttribute("disabled", "");
|
||||||
|
|
||||||
document.getElementById("col2").style.backgroundColor = isCorrect ? "lightgreen" : "#FF4444";
|
document.getElementById("col2").style.backgroundColor = isCorrect ? "lightgreen" : "#FF4444";
|
||||||
|
if (!isCorrect) {
|
||||||
|
setHighscore(score)
|
||||||
|
}
|
||||||
score = isCorrect ? score + 1 : 0;
|
score = isCorrect ? score + 1 : 0;
|
||||||
document.getElementById("score").innerText = score;
|
document.getElementById("score").innerText = score;
|
||||||
|
|
||||||
@ -47,6 +60,7 @@ function showResult(isCorrect) {
|
|||||||
|
|
||||||
// updates view based on the cpu objects
|
// updates view based on the cpu objects
|
||||||
function updateLayout() {
|
function updateLayout() {
|
||||||
|
document.getElementById("highscore").innerText = highscore;
|
||||||
document.getElementById("currentCpuTitle").innerText = currentCpu.name;
|
document.getElementById("currentCpuTitle").innerText = currentCpu.name;
|
||||||
// add "." to large numbers
|
// add "." to large numbers
|
||||||
document.getElementById("currentCpuScore").innerText = new Intl.NumberFormat().format(currentCpu.score)
|
document.getElementById("currentCpuScore").innerText = new Intl.NumberFormat().format(currentCpu.score)
|
||||||
|
Loading…
Reference in New Issue
Block a user