Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
const wordDisplay = document.querySelector(".word-display");
const guessesText = document.querySelector(".guesses-text b");
const keyboardDiv = document.querySelector(".keyboard");
const hangmanImage = document.querySelector(".hangman-box img");
const gameModel = document.querySelector(".game-model");
const playAgainBtn = gameModel.querySelector("button");
let currentWord, correctLetters, wrongGuessCount;
const maxGuesses = 6;
const resetGame = () => {
correctLetters = [];
wrongGuessCount = 0;
hangmanImage.src = "images/hangman-0.svg";
guessesText.innerText = `${wrongGuessCount} / ${maxGuesses}`;
wordDisplay.innerHTML = currentWord.split("").map(() => `<li class="letter"></li>`).join("");
keyboardDiv.querySelectorAll("button").forEach(btn => btn.disabled = false);
gameModel.classList.remove("show");
}
const getRandomWord = () => {
const { word, hint } = wordList[Math.floor(Math.random() * wordList.length)];
currentWord = word;
document.querySelector(".hint-text b").innerText = hint;
resetGame();
}
const gameOver = (isVictory) => {
const modalText = isVictory ? `You found the word:` : 'The correct word was:';
gameModel.querySelector("h4").innerText = isVictory ? 'Congrats!' : 'Game Over!';
gameModel.querySelector("p").innerHTML = `${modalText} <b>${currentWord}</b>`;
gameModel.classList.add("show");
if (isVictory) {
const gamesWon = parseInt(getCookie("gamesWon")) || 0;
setCookie("gamesWon", gamesWon + 1, 365);
}
}
const initGame = (button, clickedLetter) => {
if (currentWord.includes(clickedLetter)) {
[...currentWord].forEach((letter, index) => {
if (letter === clickedLetter) {
correctLetters.push(letter);
wordDisplay.querySelectorAll("li")[index].innerText = letter;
wordDisplay.querySelectorAll("li")[index].classList.add("guessed");
}
});
} else {
wrongGuessCount++;
hangmanImage.src = `images/hangman-${wrongGuessCount}.svg`;
}
button.disabled = true;
guessesText.innerText = `${wrongGuessCount} / ${maxGuesses}`;
if (wrongGuessCount === maxGuesses) return gameOver(false);
if (correctLetters.length === currentWord.length) return gameOver(true);
}
for (let i = 97; i <= 122; i++) {
const button = document.createElement("button");
button.innerText = String.fromCharCode(i);
keyboardDiv.appendChild(button);
button.addEventListener("click", (e) => initGame(e.target, String.fromCharCode(i)));
}
document.addEventListener("DOMContentLoaded", function () {
const playerName = getCookie("playerName");
if (playerName) {
alert("Welcome back, " + playerName + "!");
} else {
const newName = prompt("Enter your name:");
if (newName) {
setCookie("playerName", newName, 365);
alert("Hello, " + newName + "! Let's play!");
} else {
alert("Invalid name. Game not started.");
}
}
});
function setCookie(name, value, days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
const expires = "expires=" + date.toUTCString();
document.cookie = name + "=" + value + ";" + expires + ";path=/";
}
function getCookie(name) {
const cookies = document.cookie.split(';');
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i].trim();
if (cookie.startsWith(name + "=")) {
return cookie.substring(name.length + 1);
}
}
return null;
}
function startGame() {
alert("Game started!");
}
function displayHighScores() {
const playerName = getCookie("playerName");
const gamesWon = getCookie("gamesWon") || 0;
const highScoresOverlay = document.createElement("div");
highScoresOverlay.classList.add("overlay");
const highScoresModal = document.createElement("div");
highScoresModal.classList.add("high-scores");
if (playerName) {
highScoresModal.innerHTML = `
<h4>${playerName}'s Highscores</h4>
<ul>
<li>Games Won: ${gamesWon}</li>
</ul>
<button onclick="closeHighScores()">Close</button>
`;
} else {
highScoresModal.innerHTML = `
<p>No highscore available. Start playing to set a highscore!</p>
<button onclick="closeHighScores()">Close</button>
`;
}
highScoresOverlay.appendChild(highScoresModal);
document.body.appendChild(highScoresOverlay);
}
function closeHighScores() {
const highScoresOverlay = document.querySelector(".overlay");
if (highScoresOverlay) {
highScoresOverlay.remove();
}
}
document.addEventListener("DOMContentLoaded", function () {
const playerName = getCookie("playerName");
if (playerName) {
alert("Welcome back, " + playerName + "!");
} else {
const newName = prompt("Enter your name:");
if (newName) {
setCookie("playerName", newName, 365);
alert("Hello, " + newName + "! Let's play!");
} else {
alert("Invalid name. Game not started.");
}
}
const showHighScoresButton = document.querySelector(".show-high-scores");
showHighScoresButton.addEventListener("click", displayHighScores);
getRandomWord();
playAgainBtn.addEventListener("click", getRandomWord);
});
getRandomWord();
playAgainBtn.addEventListener("click", getRandomWord);