booger_quest/public/script.js

77 lines
2.9 KiB
JavaScript

let timerRunning = false;
let startTime;
let elapsedTime = 0;
let timerHistory = [];
let challengeRunning = false;
let challengeStartTime;
let challengeTimes = [];
let ghostGameRunning = false;
let ghostTimer;
let ghostAppearTime;
document.getElementById('startGhostGame').addEventListener('click', function() {
ghostGameRunning = true;
document.getElementById('ghostDisplay').textContent = '';
document.getElementById('ghostResults').textContent = '';
document.getElementById('bustGhost').style.display = 'none';
let randomTime = Math.random() * 10000; // Random time within 10 seconds
ghostTimer = setTimeout(function() {
document.getElementById('ghostDisplay').textContent = '👻';
ghostAppearTime = Date.now();
document.getElementById('bustGhost').style.display = 'inline';
}, randomTime);
});
document.getElementById('bustGhost').addEventListener('click', function() {
if (!ghostAppearTime) {
document.getElementById('ghostResults').textContent = 'Too early! You lose!';
clearTimeout(ghostTimer);
} else {
let reactionTime = Date.now() - ghostAppearTime;
document.getElementById('ghostResults').textContent = `Reaction Time: ${reactionTime} ms`;
}
ghostGameRunning = false;
document.getElementById('bustGhost').style.display = 'none';
});
const timerButton = document.getElementById('timerButton');
const historyList = document.getElementById('historyList');
const challengeButton = document.getElementById('challengeButton');
timerButton.addEventListener('click', function() {
if (!timerRunning) {
startTime = Date.now() - elapsedTime;
timerRunning = true;
timerButton.textContent = 'Stop Timer';
} else {
elapsedTime = Date.now() - startTime;
timerRunning = false;
timerButton.textContent = 'Start Timer';
recordTime(elapsedTime);
}
});
challengeButton.addEventListener('click', function() {
if (!challengeRunning) {
challengeStartTime = Date.now();
challengeRunning = true;
challengeButton.textContent = 'Tap at 2 seconds';
} else {
let tapTime = Date.now();
let interval = tapTime - challengeStartTime;
challengeTimes.push(interval);
challengeRunning = false;
challengeButton.textContent = '⏱️ 2-Second Challenge ⏱️';
recordChallengeTime(interval);
}
});
function recordTime(time) {
timerHistory.push(time);
const newTime = document.createElement('li');
newTime.textContent = `Time: ${time} ms`;
historyList.appendChild(newTime);
}
function recordChallengeTime(time) {
const newTime = document.createElement('li');
newTime.textContent = `Attempt: ${time} ms - ${Math.abs(2000 - time)} ms off`;
resultsList.appendChild(newTime);
}