From 5aa2281ea66f8c857d8061b08de9c535c92bf14c Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 18:14:07 +0300 Subject: [PATCH 1/7] Fix incorrect extra life calclulation in updateLives (fixes #1) --- script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script.js b/script.js index 43cfa50..72a1cad 100644 --- a/script.js +++ b/script.js @@ -219,7 +219,7 @@ function updateWrongLetters() { } function updateLives() { - const livesLeft = gameState.maxWrong - gameState.wrongGuesses + 1; + const livesLeft = gameState.maxWrong - gameState.wrongGuesses; document.getElementById('livesLeft').textContent = livesLeft; } From dbec8213f976da384542cef4bfae0a58771a9932 Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 18:33:21 +0300 Subject: [PATCH 2/7] Update script.js --- script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script.js b/script.js index 72a1cad..464a842 100644 --- a/script.js +++ b/script.js @@ -219,7 +219,7 @@ function updateWrongLetters() { } function updateLives() { - const livesLeft = gameState.maxWrong - gameState.wrongGuesses; + const livesLeft = gameState.maxWrong - gameState.wrongGuesses +1 ; document.getElementById('livesLeft').textContent = livesLeft; } From 42940e7d4167182060abff903800750283a071e9 Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 18:37:27 +0300 Subject: [PATCH 3/7] Update script.js --- script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script.js b/script.js index 464a842..72a1cad 100644 --- a/script.js +++ b/script.js @@ -219,7 +219,7 @@ function updateWrongLetters() { } function updateLives() { - const livesLeft = gameState.maxWrong - gameState.wrongGuesses +1 ; + const livesLeft = gameState.maxWrong - gameState.wrongGuesses; document.getElementById('livesLeft').textContent = livesLeft; } From 2cd8dde91d376613e668c240c45c96841692a0cf Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 18:42:23 +0300 Subject: [PATCH 4/7] Fix extra life bug --- script.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script.js b/script.js index 72a1cad..293a838 100644 --- a/script.js +++ b/script.js @@ -218,6 +218,8 @@ function updateWrongLetters() { } } +//test + function updateLives() { const livesLeft = gameState.maxWrong - gameState.wrongGuesses; document.getElementById('livesLeft').textContent = livesLeft; From 2603a2037747a38d3931ad79b29c0404a3ac93ae Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 18:52:23 +0300 Subject: [PATCH 5/7] Fix wrong guess increment when correct letter is entered (fixes #2) --- script.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script.js b/script.js index 293a838..7c13fba 100644 --- a/script.js +++ b/script.js @@ -171,6 +171,7 @@ function nextRound() { } function guessLetter(letter) { + letter = letter.toUpperCase(); // Add this line if (!gameState.gameActive) return; if (gameState.guessedLetters.includes(letter)) { @@ -179,7 +180,7 @@ function guessLetter(letter) { gameState.guessedLetters.push(letter); - if (!gameState.currentWord.includes(letter)) { + if (!gameState.currentWord.toUpperCase().includes(letter)) { // Ensure comparison is uppercase gameState.wrongGuesses++; updateHangman(); } From 8fba0bd111ccc18f215eb1fdf13509854ddf4599 Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 19:01:51 +0300 Subject: [PATCH 6/7] Validate player names to prevent duplicates or empty names (fixes #3) --- script.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/script.js b/script.js index 7c13fba..dde4cc5 100644 --- a/script.js +++ b/script.js @@ -133,15 +133,23 @@ function generateKeyboard() { } function startGame() { - const p1Name = document.getElementById('player1Name').value.trim(); - const p2Name = document.getElementById('player2Name').value.trim(); - - gameState.player1.name = p1Name || 'Player 1'; - gameState.player2.name = p2Name || 'Player 2'; - + let p1Name = document.getElementById('player1Name').value.trim(); + let p2Name = document.getElementById('player2Name').value.trim(); + + // Prevent empty or duplicate names + if (!p1Name) p1Name = 'Player 1'; + if (!p2Name) p2Name = 'Player 2'; + if (p1Name.toUpperCase() === p2Name.toUpperCase()) { + alert('Please enter different names for Player 1 and Player 2.'); + return; // Stop game start until fixed + } + + gameState.player1.name = p1Name; + gameState.player2.name = p2Name; + document.getElementById('player1Display').textContent = gameState.player1.name; document.getElementById('player2Display').textContent = gameState.player2.name; - + document.getElementById('gameArea').style.display = 'block'; nextRound(); From 8c8c0af62e9d77edee19ea59c14a3447c5ba2de2 Mon Sep 17 00:00:00 2001 From: BruArtist <60303299@udst.edu.qa> Date: Sun, 15 Feb 2026 19:04:33 +0300 Subject: [PATCH 7/7] Fix incorrect hangman body part order on wrong guesses (fixes #4) --- script.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/script.js b/script.js index dde4cc5..cd1ba22 100644 --- a/script.js +++ b/script.js @@ -236,12 +236,10 @@ function updateLives() { function updateHangman() { const parts = ['head', 'body', 'leftArm', 'rightArm', 'leftLeg', 'rightLeg']; - - const wrongOrder = ['head', 'leftArm', 'rightArm', 'body', 'leftLeg', 'rightLeg']; const partIndex = gameState.wrongGuesses - 1; - - if (partIndex >= 0 && partIndex < wrongOrder.length) { - const partToShow = wrongOrder[partIndex]; + + if (partIndex >= 0 && partIndex < parts.length) { + const partToShow = parts[partIndex]; document.getElementById(partToShow).style.display = 'block'; } }