Skip to content

Commit

Permalink
Stored scores into localStorage
Browse files Browse the repository at this point in the history
Saved the updated scores into local storage as JSON strings.
Refreshing the page won't reset scores.
  • Loading branch information
Mano-08 committed Oct 14, 2022
1 parent 2a88183 commit ee14196
Showing 1 changed file with 23 additions and 19 deletions.
42 changes: 23 additions & 19 deletions script.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
let highScoreFromLocalStorage = localStorage.getItem("highScore");
let highScoreEl=document.getElementById("highScore");
let highScore=0;
if (highScoreFromLocalStorage) {
highScore = highScoreFromLocalStorage;
let scores = [0,0];
let scoresFromLocalStorage = JSON.parse(localStorage.getItem("scores"));
let highScoreEl = document.getElementById("highScore");
let highScore = 0;
let scoreAfter = 0;
if (scoresFromLocalStorage) {
highScore = parseInt(scoresFromLocalStorage[0]);
scoreAfter = parseInt(scoresFromLocalStorage[1]);
highScoreEl.textContent="High score: " + highScore;
document.getElementById("player-score").innerText = scoreAfter;
}

const choices = ["Rock", "Paper", "Scissors"];
Expand Down Expand Up @@ -43,7 +47,9 @@ function getResult(playerChoice, computerChoice) {
document.getElementById("player-score").innerText--;
}
}
scoreAfter = document.getElementById("player-score").innerText;
scoreAfter = parseInt(document.getElementById("player-score").innerText);
scores[1] = scoreAfter;
localStorage.setItem("scores", JSON.stringify(scores));
return scoreBefore, scoreAfter;
}

Expand All @@ -62,11 +68,12 @@ function showResult(scoreBefore, scoreAfter, playerChoice, computerChoice) {
finalresult = document.getElementById("result").innerText;
if (parseInt(scoreAfter) > highScore) {
highScore = scoreAfter;
localStorage.setItem("highScore", highScore);
highScoreFromLocalStorage = localStorage.getItem("highScore");
highScoreEl.textContent="High score: " + highScoreFromLocalStorage;
scores[0] = highScore;
highScoreEl.textContent="High score: " + highScore;
}
localStorage.setItem("highScore", highScore);
scores[1] = scoreAfter;
scores[0] = highScore;
localStorage.setItem("scores", JSON.stringify(scores));
if (parseInt(scoreBefore) > parseInt(scoreAfter)) {
document.getElementById("result").style.color = "red";
document.getElementById("result").innerText = "You Lose!";
Expand All @@ -88,8 +95,6 @@ function onClickRPS(playerChoice) {

function playGame() {
const rpsButtons = document.querySelectorAll(".rpsButton");
highScoreFromLocalStorage = localStorage.getItem("highScore");
highScoreEl.textContent="High score: " + highScoreFromLocalStorage;
rpsButtons.forEach(
(rpsButton) =>
(rpsButton.onclick = () => {
Expand All @@ -99,15 +104,14 @@ function playGame() {
}

function endGame() {
localStorage.setItem("highScore", highScore);
highScoreFromLocalStorage = localStorage.getItem("highScore");
highScoreEl.textContent="High score: " + highScoreFromLocalStorage;
scores[0] = highScore;
scores[1] = scoreAfter;
localStorage.setItem("scores", JSON.stringify(scores));
highScoreEl.textContent="High score: " + highScore;
const endGameButton = document.getElementById("endGameButton");
endGameButton.onclick = () => {
highScore = 0;
localStorage.setItem("highScore",highScore);
highScoreFromLocalStorage = localStorage.getItem("highScore");
highScoreEl.textContent="High score: " + highScoreFromLocalStorage;
localStorage.setItem("scores",JSON.stringify(scores));
highScoreEl.textContent="High score: " + highScore;
document.getElementById("player-score").innerText = 0;
document.getElementById("result").innerText = "";
document.getElementById("hands").innerText = "";
Expand Down

0 comments on commit ee14196

Please sign in to comment.