kelompok06-2048/2048.js
Evelyn Sucitro e657b1004f Update
2025-12-07 21:08:25 +07:00

44 lines
1.3 KiB
JavaScript

/* ------------------------
1. GAME STATE & VARIABLES
------------------------ */
let board = [];
let currentScore = 0;
// Ambil username dari sessionStorage (Cek apakah ada user login)
const loggedInUser = sessionStorage.getItem("loggedInUser");
// Tentukan user saat ini (jika tidak ada login, pakai "guest")
const currentUser = loggedInUser || "guest";
// Buat nama kunci unik untuk penyimpanan
const storageKey = 'highScore2048_' + currentUser;
// --- PERBAIKAN DI SINI ---
let highScore = 0;
if (loggedInUser) {
// JIKA SUDAH LOGIN: Ambil High Score dari memori localStorage
highScore = parseInt(localStorage.getItem(storageKey)) || 0;
} else {
// JIKA BELUM LOGIN (GUEST): Selalu mulai High Score dari 0 saat refresh
highScore = 0;
}
// -------------------------
let lastMoveDir = null;
let isMoving = false;
let mergesInCurrentMove = 0;
// Sound State (baca dari localStorage atau default ON)
let soundState = {
bg: localStorage.getItem('sound_bg') !== 'false',
pop: localStorage.getItem('sound_pop') !== 'false',
merge: localStorage.getItem('sound_merge') !== 'false'
};
// Volume State (0-100 for each sound)
let volumeState = {
music: parseInt(localStorage.getItem('vol_music')) || 25,
pop: parseInt(localStorage.getItem('vol_pop')) || 90,
merge: parseInt(localStorage.getItem('vol_merge')) || 100
};