document.addEventListener("DOMContentLoaded", () => { const balanceDisplay = document.getElementById("balance"); const stakeAmountInput = document.getElementById("stake-amount"); const stakeBtn = document.getElementById("stake-btn"); const cashoutBtn = document.getElementById("cashout-btn"); const backBtn = document.getElementById("back-btn"); const plane = document.getElementById("plane"); const multiplierDisplay = document.getElementById("multiplier"); const audio = new Audio("sound.mp3"); // Replace with your sound file path let balance = 10000; // Default balance let gameInterval; let multiplier = 1.0; let crashPoint = 0; let stakeAmount = 0; // Play sound const playSound = () => { if (audio) audio.play(); }; // Stop sound const stopSound = () => { if (audio) { audio.pause(); audio.currentTime = 0; // Reset sound to the beginning } }; // Start the game const startGame = () => { stakeAmount = parseFloat(stakeAmountInput.value); if (isNaN(stakeAmount) || stakeAmount <= 0 || stakeAmount > balance) { alert("Invalid stake amount."); return; } crashPoint = Math.random() * 5 + 1; // Random crash point for simulation multiplier = 1.0; balance -= stakeAmount; balanceDisplay.textContent = balance.toFixed(2); cashoutBtn.disabled = false; stakeBtn.disabled = true; playSound(); // Play sound when the game starts // Start multiplier animation and plane movement gameInterval = setInterval(() => { multiplier += 0.05; // Slower multiplier increment multiplierDisplay.textContent = multiplier.toFixed(2) + "x"; // Move the plane across the screen plane.style.transform = `translateX(${multiplier * 10}px)`; if (multiplier >= crashPoint) { clearInterval(gameInterval); alert("Plane crashed! You lost your stake."); stopSound(); // Stop sound on crash resetGame(); } }, 200); // Slower interval for smoother animation }; // Cash out before crash const cashout = () => { clearInterval(gameInterval); const winnings = stakeAmount * multiplier; balance += winnings; balanceDisplay.textContent = balance.toFixed(2); alert(`You cashed out at ${multiplier.toFixed(2)}x. Winnings: ${winnings.toFixed(2)}`); stopSound(); // Stop sound on cash out resetGame(); }; // Reset the game state const resetGame = () => { multiplierDisplay.textContent = "1.0x"; plane.style.transform = "translateX(0px)"; cashoutBtn.disabled = true; stakeBtn.disabled = false; }; // Event listeners stakeBtn.addEventListener("click", startGame); cashoutBtn.addEventListener("click", cashout); backBtn.addEventListener("click", () => { window.location.href = "home"; // Replace with your actual back button URL }); // Initialize balance balanceDisplay.textContent = balance.toFixed(2); });