its finaly done
This commit is contained in:
parent
6ad0110109
commit
d62cc3c97f
@ -9,34 +9,25 @@ const sfxLose = document.getElementById("sfxLose");
|
|||||||
const toggleBtn = document.getElementById("toggleMusic");
|
const toggleBtn = document.getElementById("toggleMusic");
|
||||||
const countdownOverlay = document.getElementById("countdown-overlay");
|
const countdownOverlay = document.getElementById("countdown-overlay");
|
||||||
|
|
||||||
let musicMuted = false;
|
let musicMuted = true;
|
||||||
|
toggleBtn.textContent = "🔇";
|
||||||
|
|
||||||
function playSFX(audio) {
|
function playSFX(audio) {
|
||||||
if(!musicMuted) {
|
audio.currentTime = 0;
|
||||||
audio.currentTime = 0;
|
audio.play().catch(() => {});
|
||||||
audio.play().catch(() => {});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener('click', function initAudio() {
|
|
||||||
if(musicMuted) {
|
|
||||||
musicMuted = false;
|
|
||||||
toggleBtn.textContent = "🔊";
|
|
||||||
bgMusic.play().catch(() => {});
|
|
||||||
document.removeEventListener('click', initAudio);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
toggleBtn.onclick = (e) => {
|
toggleBtn.onclick = (e) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (musicMuted) {
|
if (musicMuted) {
|
||||||
bgMusic.play();
|
bgMusic.play();
|
||||||
toggleBtn.textContent = "🔊";
|
toggleBtn.textContent = "🔊";
|
||||||
|
musicMuted = false;
|
||||||
} else {
|
} else {
|
||||||
bgMusic.pause();
|
bgMusic.pause();
|
||||||
toggleBtn.textContent = "🔇";
|
toggleBtn.textContent = "🔇";
|
||||||
|
musicMuted = true;
|
||||||
}
|
}
|
||||||
musicMuted = !musicMuted;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const images = [
|
const images = [
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
// --- AUDIO CONFIG ---
|
||||||
const bgMusic = document.getElementById("bgMusic");
|
const bgMusic = document.getElementById("bgMusic");
|
||||||
const sfxClick = document.getElementById("sfxClick");
|
const sfxClick = document.getElementById("sfxClick");
|
||||||
const sfxMatch = document.getElementById("sfxMatch");
|
const sfxMatch = document.getElementById("sfxMatch");
|
||||||
@ -8,34 +9,32 @@ const sfxLose = document.getElementById("sfxLose");
|
|||||||
const toggleBtn = document.getElementById("toggleMusic");
|
const toggleBtn = document.getElementById("toggleMusic");
|
||||||
const overlay = document.getElementById("countdown-overlay");
|
const overlay = document.getElementById("countdown-overlay");
|
||||||
|
|
||||||
|
// 1. Set Default Mute (Mati)
|
||||||
let musicMuted = true;
|
let musicMuted = true;
|
||||||
|
toggleBtn.textContent = "🔇";
|
||||||
|
|
||||||
|
// 2. SFX Jalan Terus (Tanpa Cek Mute)
|
||||||
function playSFX(audio) {
|
function playSFX(audio) {
|
||||||
if(!musicMuted) {
|
audio.currentTime = 0;
|
||||||
audio.currentTime = 0;
|
audio.play().catch(() => {});
|
||||||
audio.play().catch(() => {});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener('click', function initAudio() {
|
// 3. Listener 'initAudio' DIHAPUS
|
||||||
if(musicMuted) {
|
// (Supaya musik tidak nyala otomatis saat klik layar sembarangan)
|
||||||
musicMuted = false;
|
|
||||||
toggleBtn.textContent = "🔊";
|
|
||||||
bgMusic.play().catch(() => {});
|
|
||||||
document.removeEventListener('click', initAudio);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
toggleBtn.onclick = (e) => {
|
toggleBtn.onclick = (e) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (musicMuted) {
|
if (musicMuted) {
|
||||||
|
// Nyalakan Musik
|
||||||
bgMusic.play();
|
bgMusic.play();
|
||||||
toggleBtn.textContent = "🔊";
|
toggleBtn.textContent = "🔊";
|
||||||
|
musicMuted = false;
|
||||||
} else {
|
} else {
|
||||||
|
// Matikan Musik
|
||||||
bgMusic.pause();
|
bgMusic.pause();
|
||||||
toggleBtn.textContent = "🔇";
|
toggleBtn.textContent = "🔇";
|
||||||
|
musicMuted = true;
|
||||||
}
|
}
|
||||||
musicMuted = !musicMuted;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const images = [
|
const images = [
|
||||||
@ -68,7 +67,6 @@ function showComboPopup(targetCard, combo, bonus) {
|
|||||||
setTimeout(() => popup.remove(), 1500);
|
setTimeout(() => popup.remove(), 1500);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function shuffleDistant(cards, minDistance = 4) {
|
function shuffleDistant(cards, minDistance = 4) {
|
||||||
let valid = false;
|
let valid = false;
|
||||||
let result;
|
let result;
|
||||||
@ -111,7 +109,6 @@ function shuffleDistant(cards, minDistance = 4) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function runCountdown(callback) {
|
function runCountdown(callback) {
|
||||||
let count = 3;
|
let count = 3;
|
||||||
overlay.style.display = "flex";
|
overlay.style.display = "flex";
|
||||||
@ -212,7 +209,7 @@ function flipCard(card) {
|
|||||||
score += 50;
|
score += 50;
|
||||||
document.getElementById("score").textContent = score;
|
document.getElementById("score").textContent = score;
|
||||||
time += 5;
|
time += 5;
|
||||||
document.getElementById("timer").textContent = time; // Update tampilan waktu bonus
|
document.getElementById("timer").textContent = time;
|
||||||
flipped = [];
|
flipped = [];
|
||||||
|
|
||||||
if (document.querySelectorAll(".matched").length === cards.length) {
|
if (document.querySelectorAll(".matched").length === cards.length) {
|
||||||
@ -234,7 +231,9 @@ function startGame() {
|
|||||||
board.innerHTML = "";
|
board.innerHTML = "";
|
||||||
|
|
||||||
runCountdown(() => {
|
runCountdown(() => {
|
||||||
|
// Pastikan musik hanya main jika musicMuted = false (user sudah toggle on)
|
||||||
if(!musicMuted) bgMusic.play().catch(() => {});
|
if(!musicMuted) bgMusic.play().catch(() => {});
|
||||||
|
|
||||||
const shuffledCards = shuffleDistant([...cards]);
|
const shuffledCards = shuffleDistant([...cards]);
|
||||||
shuffledCards.forEach(image => {
|
shuffledCards.forEach(image => {
|
||||||
const card = document.createElement("div");
|
const card = document.createElement("div");
|
||||||
|
|||||||
@ -9,34 +9,25 @@ const sfxLose = document.getElementById("sfxLose");
|
|||||||
const toggleBtn = document.getElementById("toggleMusic");
|
const toggleBtn = document.getElementById("toggleMusic");
|
||||||
const countdownOverlay = document.getElementById("countdown-overlay");
|
const countdownOverlay = document.getElementById("countdown-overlay");
|
||||||
|
|
||||||
let musicMuted = false;
|
let musicMuted = true;
|
||||||
|
toggleBtn.textContent = "🔇";
|
||||||
|
|
||||||
function playSFX(audio) {
|
function playSFX(audio) {
|
||||||
if(!musicMuted) {
|
audio.currentTime = 0;
|
||||||
audio.currentTime = 0;
|
audio.play().catch(() => {});
|
||||||
audio.play().catch(() => {});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener('click', function initAudio() {
|
|
||||||
if(musicMuted) {
|
|
||||||
musicMuted = false;
|
|
||||||
toggleBtn.textContent = "🔊";
|
|
||||||
bgMusic.play().catch(() => {});
|
|
||||||
document.removeEventListener('click', initAudio);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
toggleBtn.onclick = (e) => {
|
toggleBtn.onclick = (e) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (musicMuted) {
|
if (musicMuted) {
|
||||||
bgMusic.play();
|
bgMusic.play();
|
||||||
toggleBtn.textContent = "🔊";
|
toggleBtn.textContent = "🔊";
|
||||||
|
musicMuted = false;
|
||||||
} else {
|
} else {
|
||||||
bgMusic.pause();
|
bgMusic.pause();
|
||||||
toggleBtn.textContent = "🔇";
|
toggleBtn.textContent = "🔇";
|
||||||
|
musicMuted = true;
|
||||||
}
|
}
|
||||||
musicMuted = !musicMuted;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const images = [
|
const images = [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user