"use strict"; const targetNum = Math.trunc(Math.random() * 20) + 1; let highScore = Number(localStorage.getItem("highscore")) || 0; let userGuess = 10; // Default guess let currScore = 20; const screenEl = document.querySelector(".screen"); const msgEl = document.querySelector(".message"); const guessInput = document.querySelector("#guess"); const scoreEl = document.querySelector(".score"); const highScoreEl = document.querySelector(".highScore"); const checkBtn = document.querySelector("#check"); const restartBtn = document.querySelector("#restart"); const incBtn = document.querySelector("#up"); const decBtn = document.querySelector("#down"); const setMsg = (msg) => (msgEl.textContent = msg); const setScore = (score) => (scoreEl.textContent = `Score: ${(currScore = score)}`); const setHighScore = () => { highScoreEl.textContent = `Highscore: ${highScore}`; localStorage.setItem("highscore", highScore); }; const changeColor = (color) => (screenEl.style.backgroundColor = color); checkBtn.addEventListener("click", () => { userGuess = Number(guessInput.textContent); if (!userGuess || userGuess < 1 || userGuess > 20) { setMsg("Please enter a valid number between 1 and 20."); } else if (userGuess === targetNum) { highScore = Math.max(highScore, currScore); setHighScore(); setMsg( currScore !== 20 ? "Correct Number!" : "Are you sure you didn't cheat?" ); changeColor(currScore !== 20 ? "#1ba100" : "#FFC300"); } else { setMsg(userGuess > targetNum ? "Too High!" : "Too Low!"); if (currScore > 1) { setScore(currScore - 1); } else { setScore(1); setMsg("You lost the game!"); changeColor("#a10000"); } } }); restartBtn.addEventListener("click", () => location.reload()); incBtn.addEventListener( "click", () => (guessInput.textContent = Math.min(Number(guessInput.textContent) + 1, 20)) ); decBtn.addEventListener( "click", () => (guessInput.textContent = Math.max(Number(guessInput.textContent) - 1, 1)) ); guessInput.textContent = userGuess; setMsg("Guess a number"); setScore(currScore); setHighScore();