This Chat is read-only. Login to resume chatting.
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Galgje Spel</title>
<style>
body { font-family: Arial, sans-serif; }
#word { font-size: 2em; letter-spacing: 0.2em; }
#tower { display: flex; flex-direction: column-reverse; }
.block { width: 50px; height: 20px; margin: 2px auto; border: 1px solid black; }
.blue { background-color: blue; }
.green { background-color: green; }
.yellow { background-color: yellow; }
.orange { background-color: orange; }
.red { background-color: red; }
#game-over { display: none; margin-top: 20px; }
</style>
</head>
<body>
<h1>Galgje Spel</h1>
<div id="word">_ _ _ _ </div>
<div id="tower"></div>
<input type="text" id="guess" maxlength="1" placeholder="Raad een letter">
<button onclick="makeGuess()">Raad</button>
<div id="game-over">
<p>Het spel is voorbij! Het woord was: <span id="correct-word"></span>.</p>
<button onclick="location.reload()">Speel opnieuw</button>
</div>
<script>
const word = "pest";
const tower = document.getElementById('tower');
const wordDisplay = document.getElementById('word');
const gameOverScreen = document.getElementById('game-over');
const correctWordDisplay = document.getElementById('correct-word');
let incorrectGuesses = 0;
let correctGuesses = Array(word.length).fill(false);
function makeGuess() {
const guessInput = document.getElementById('guess');
const guess = guessInput.value.toLowerCase();
guessInput.value = '';
if (guess.length !== 1 || !/[a-z]/.test(guess)) {
alert("Voer een geldige letter in!");
return;
}
let alreadyGuessed = correctGuesses.some((val, index) => val && word[index] === guess);
if (alreadyGuessed) {
alert("Je hebt deze letter al geraden!");
return;
}
if (word.includes(guess)) {
for (let i = 0; i < word.length; i++) {
if (word[i] === guess) {
correctGuesses[i] = true;
}
}
updateWordDisplay();
} else {
incorrectGuesses++;
addBlockToTower();
}
if (correctGuesses.every(val => val)) {
gameOver("Gewonnen!");
} else if (incorrectGuesses >= 10) {
gameOver("Verloren!");
}
}
function updateWordDisplay() {
let display = '';
for (let i = 0; i < word.length; i++) {
display += correctGuesses[i] ? word[i] : '_';
}
wordDisplay.innerText = display;
}
function addBlockToTower() {
const block = document.createElement('div');
block.classList.add('block');
if (incorrectGuesses < 2) {
block.classList.add('blue');
} else if (incorrectGuesses < 4) {
block.classList.add('green');
} else if (incorrectGuesses < 6) {
block.classList.add('yellow');
} else if (incorrectGuesses < 8) {
block.classList.add('orange');
} else {
block.classList.add('red');
}
tower.appendChild(block);
}
function gameOver(message) {
correctWordDisplay.innerText = word;
gameOverScreen.style.display = 'block';
alert(message);
}
</script>
</body>
</html><!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Galgje Spel</title>
<style>
body { font-family: Arial, sans-serif; }
#word { font-size: 2em; letter-spacing: 0.2em; }
#tower { display: flex; flex-direction: column-reverse; }
.block { width: 50px; height: 20px; margin: 2px auto; border: 1px solid black; }
.blue { background-color: blue; }
.green { background-color: green; }
.yellow { background-color: yellow; }
.orange { background-color: orange; }
.red { background-color: red; }
#game-over { display: none; margin-top: 20px; }
</style>
</head>
<body>
<h1>Galgje Spel</h1>
<div id="word"></div>
<div id="tower"></div>
<input type="text" id="guess" maxlength="1" placeholder="Raad een letter">
<button onclick="makeGuess()">Raad</button>
<div id="game-over">
<p>Het spel is voorbij! Het woord was: <span id="correct-word"></span>.</p>
<button onclick="startNewGame()">Speel opnieuw</button>
</div>
<script>
const words = ["ridder", "pest", "kasteel", "feodalisme", "kruistocht", "gilden"];
let word = '';
let incorrectGuesses = 0;
let correctGuesses = [];
const tower = document.getElementById('tower');
const wordDisplay = document.getElementById('word');
const gameOverScreen = document.getElementById('game-over');
const correctWordDisplay = document.getElementById('correct-word');
function startNewGame() {
word = words[Math.floor(Math.random() * words.length)];
incorrectGuesses = 0;
correctGuesses = Array(word.length).fill(false);
tower.innerHTML = '';
wordDisplay.innerText = '_ '.repeat(word.length).trim();
gameOverScreen.style.display = 'none';
}
function makeGuess() {
const guessInput = document.getElementById('guess');
const guess = guessInput.value.toLowerCase();
guessInput.value = '';
if (guess.length !== 1 || !/[a-z]/.test(guess)) {
alert("Voer een geldige letter in!");
return;
}
let alreadyGuessed = correctGuesses.some((val, index) => val && word[index] === guess);
if (alreadyGuessed) {
alert("Je hebt deze letter al geraden!");
return;
}
if (word.includes(guess)) {
for (let i = 0; i < word.length; i++) {
if (word[i] === guess) {
correctGuesses[i] = true;
}
}
updateWordDisplay();
} else {
incorrectGuesses++;
addBlockToTower();
}
if (correctGuesses.every(val => val)) {
gameOver("Gewonnen!");
} else if (incorrectGuesses >= 10) {
gameOver("Verloren!");
}
}
function updateWordDisplay() {
let display = '';
for (let i = 0; i < word.length; i++) {
display += correctGuesses[i] ? word[i] : '_';
}
wordDisplay.innerText = display;
}
function addBlockToTower() {
const block = document.createElement('div');
block.classList.add('block');
if (incorrectGuesses < 2) {
block.classList.add('blue');
} else if (incorrectGuesses < 4) {
block.classList.add('green');
} else if (incorrectGuesses < 6) {
block.classList.add('yellow');
} else if (incorrectGuesses < 8) {
block.classList.add('orange');
} else {
block.classList.add('red');
}
tower.appendChild(block);
}
function gameOver(message) {
correctWordDisplay.innerText = word;
gameOverScreen.style.display = 'block';
alert(message);
}
// Start a new game when the page loads
startNewGame();
</script>
</body>
</html>