diff --git a/assets/gameboard-easy.js b/assets/gameboard-easy.js index 96b3c71..adb653b 100644 --- a/assets/gameboard-easy.js +++ b/assets/gameboard-easy.js @@ -9,34 +9,25 @@ const sfxLose = document.getElementById("sfxLose"); const toggleBtn = document.getElementById("toggleMusic"); const countdownOverlay = document.getElementById("countdown-overlay"); -let musicMuted = false; +let musicMuted = true; +toggleBtn.textContent = "🔇"; function playSFX(audio) { - if(!musicMuted) { - audio.currentTime = 0; - audio.play().catch(() => {}); - } + audio.currentTime = 0; + audio.play().catch(() => {}); } -document.addEventListener('click', function initAudio() { - if(musicMuted) { - musicMuted = false; - toggleBtn.textContent = "🔊"; - bgMusic.play().catch(() => {}); - document.removeEventListener('click', initAudio); - } -}); - toggleBtn.onclick = (e) => { e.stopPropagation(); if (musicMuted) { bgMusic.play(); toggleBtn.textContent = "🔊"; + musicMuted = false; } else { bgMusic.pause(); toggleBtn.textContent = "🔇"; + musicMuted = true; } - musicMuted = !musicMuted; }; const images = [ diff --git a/assets/gameboard-hard.js b/assets/gameboard-hard.js index 2b74d71..b18c692 100644 --- a/assets/gameboard-hard.js +++ b/assets/gameboard-hard.js @@ -1,3 +1,4 @@ +// --- AUDIO CONFIG --- const bgMusic = document.getElementById("bgMusic"); const sfxClick = document.getElementById("sfxClick"); const sfxMatch = document.getElementById("sfxMatch"); @@ -8,34 +9,32 @@ const sfxLose = document.getElementById("sfxLose"); const toggleBtn = document.getElementById("toggleMusic"); const overlay = document.getElementById("countdown-overlay"); +// 1. Set Default Mute (Mati) let musicMuted = true; +toggleBtn.textContent = "🔇"; +// 2. SFX Jalan Terus (Tanpa Cek Mute) function playSFX(audio) { - if(!musicMuted) { - audio.currentTime = 0; - audio.play().catch(() => {}); - } + audio.currentTime = 0; + audio.play().catch(() => {}); } -document.addEventListener('click', function initAudio() { - if(musicMuted) { - musicMuted = false; - toggleBtn.textContent = "🔊"; - bgMusic.play().catch(() => {}); - document.removeEventListener('click', initAudio); - } -}); +// 3. Listener 'initAudio' DIHAPUS +// (Supaya musik tidak nyala otomatis saat klik layar sembarangan) toggleBtn.onclick = (e) => { e.stopPropagation(); if (musicMuted) { + // Nyalakan Musik bgMusic.play(); toggleBtn.textContent = "🔊"; + musicMuted = false; } else { + // Matikan Musik bgMusic.pause(); toggleBtn.textContent = "🔇"; + musicMuted = true; } - musicMuted = !musicMuted; }; const images = [ @@ -68,7 +67,6 @@ function showComboPopup(targetCard, combo, bonus) { setTimeout(() => popup.remove(), 1500); } - function shuffleDistant(cards, minDistance = 4) { let valid = false; let result; @@ -111,7 +109,6 @@ function shuffleDistant(cards, minDistance = 4) { return result; } - function runCountdown(callback) { let count = 3; overlay.style.display = "flex"; @@ -212,7 +209,7 @@ function flipCard(card) { score += 50; document.getElementById("score").textContent = score; time += 5; - document.getElementById("timer").textContent = time; // Update tampilan waktu bonus + document.getElementById("timer").textContent = time; flipped = []; if (document.querySelectorAll(".matched").length === cards.length) { @@ -234,7 +231,9 @@ function startGame() { board.innerHTML = ""; runCountdown(() => { + // Pastikan musik hanya main jika musicMuted = false (user sudah toggle on) if(!musicMuted) bgMusic.play().catch(() => {}); + const shuffledCards = shuffleDistant([...cards]); shuffledCards.forEach(image => { const card = document.createElement("div"); diff --git a/assets/gameboard-medium.js b/assets/gameboard-medium.js index d32d4f5..c2d30dc 100644 --- a/assets/gameboard-medium.js +++ b/assets/gameboard-medium.js @@ -9,34 +9,25 @@ const sfxLose = document.getElementById("sfxLose"); const toggleBtn = document.getElementById("toggleMusic"); const countdownOverlay = document.getElementById("countdown-overlay"); -let musicMuted = false; +let musicMuted = true; +toggleBtn.textContent = "🔇"; function playSFX(audio) { - if(!musicMuted) { - audio.currentTime = 0; - audio.play().catch(() => {}); - } + audio.currentTime = 0; + audio.play().catch(() => {}); } -document.addEventListener('click', function initAudio() { - if(musicMuted) { - musicMuted = false; - toggleBtn.textContent = "🔊"; - bgMusic.play().catch(() => {}); - document.removeEventListener('click', initAudio); - } -}); - toggleBtn.onclick = (e) => { e.stopPropagation(); if (musicMuted) { bgMusic.play(); toggleBtn.textContent = "🔊"; + musicMuted = false; } else { bgMusic.pause(); toggleBtn.textContent = "🔇"; + musicMuted = true; } - musicMuted = !musicMuted; }; const images = [