spooky-door-dash / script.js
amirinvis's picture
a game that shows 20 doors and one of them randomly is a prize in halloween theme with this title: Kish halloween on 2025
cfd42b3 verified
Raw
History Blame Contribute Delete
3.13 kB
document.addEventListener('DOMContentLoaded', () => {
const doorsContainer = document.querySelector('.grid');
const resultDisplay = document.getElementById('result');
const resetBtn = document.getElementById('reset-btn');
let prizeDoor = Math.floor(Math.random() * 20) + 1;
let gameActive = true;
// Create 20 doors
for (let i = 1; i <= 20; i++) {
const door = document.createElement('div');
door.className = 'door';
door.innerHTML = `
<div class="door-inner">
<div class="door-front" style="background-image: url('http://static.photos/holiday/300x450/${i}')">
<span class="text-white font-bold text-xl bg-black bg-opacity-50 px-2 rounded">${i}</span>
</div>
<div class="door-back">
${i === prizeDoor ? '<div class="ghost">πŸ‘»</div>' : '<div class="text-red-500 text-4xl">πŸ’€</div>'}
</div>
</div>
`;
door.addEventListener('click', () => handleDoorClick(door, i));
doorsContainer.appendChild(door);
}
resetBtn.addEventListener('click', resetGame);
function handleDoorClick(door, doorNumber) {
if (!gameActive) return;
const doorInner = door.querySelector('.door-inner');
doorInner.classList.add('open');
if (doorNumber === prizeDoor) {
doorInner.querySelector('.door-back').classList.add('prize');
resultDisplay.textContent = 'πŸŽ‰ CONGRATULATIONS! You found the ghost! πŸŽ‰';
resultDisplay.classList.remove('hidden');
resultDisplay.classList.add('text-green-400');
} else {
resultDisplay.textContent = 'πŸ’€ Wrong door! Try again next year! πŸ’€';
resultDisplay.classList.remove('hidden');
resultDisplay.classList.add('text-red-400');
}
gameActive = false;
resetBtn.classList.remove('hidden');
}
function resetGame() {
doorsContainer.innerHTML = '';
resultDisplay.classList.add('hidden');
resetBtn.classList.add('hidden');
prizeDoor = Math.floor(Math.random() * 20) + 1;
gameActive = true;
for (let i = 1; i <= 20; i++) {
const door = document.createElement('div');
door.className = 'door';
door.innerHTML = `
<div class="door-inner">
<div class="door-front" style="background-image: url('http://static.photos/holiday/300x450/${i}')">
<span class="text-white font-bold text-xl bg-black bg-opacity-50 px-2 rounded">${i}</span>
</div>
<div class="door-back">
${i === prizeDoor ? '<div class="ghost">πŸ‘»</div>' : '<div class="text-red-500 text-4xl">πŸ’€</div>'}
</div>
</div>
`;
door.addEventListener('click', () => handleDoorClick(door, i));
doorsContainer.appendChild(door);
}
}
});