From 683863f269489c61e9f03e5d467e02969f4c76c8 Mon Sep 17 00:00:00 2001 From: Saksham Mittal Date: Sat, 2 Apr 2022 20:08:02 +0530 Subject: Give feedback on guess by color coding each letter --- script.js | 46 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 11 deletions(-) (limited to 'script.js') diff --git a/script.js b/script.js index 6854ba5..600a5b2 100644 --- a/script.js +++ b/script.js @@ -1,34 +1,58 @@ let answer = "hello"; -let form = document.querySelector('form'); +let len = answer.length; let input = document.querySelector('input'); -let name = document.querySelector('#result'); + let win = document.querySelector('#win'); +let hint = document.querySelector('#hint'); let attempt = document.querySelector('#attempt'); let exit = false; let tries = 0; +function letterinstr(c) { + + let isin = false; + + for (var i = 0; i < len; i++) { + if (c == answer.charAt(i)) { + isin = true; + break; + } + } + + return isin; + +} + function checkAnswer(event) { event.preventDefault(); if (!exit) { - if (input.value.length == 5) { - tries++; - name.innerHTML = `${input.value}`; + if (input.value.length == len) { if (input.value == answer) { + tries++; win.innerHTML = "You won!"; exit = true; } else { + tries++; win.innerHTML = "Not quite right!"; + hint.innerHTML += "
"; + for (var i = 0; i < len; i++) { + if (input.value.charAt(i) != answer.charAt(i) && !(letterinstr(input.value.charAt(i))) ) { + hint.innerHTML += '' + input.value.charAt(i) + ""; + } else if (input.value.charAt(i) != answer.charAt(i) && (letterinstr(input.value.charAt(i))) ) { + hint.innerHTML += '' + input.value.charAt(i) + ""; + } else if (input.value.charAt(i) == answer.charAt(i)) { + hint.innerHTML += '' + input.value.charAt(i) + ""; + } + } } - if (tries == 1) { - attempt.innerHTML = tries + " attempt taken"; - } else { - attempt.innerHTML = tries + " attempts taken"; + + attempt.innerHTML = tries + " attempt"; + if (tries > 1) { + attempt.innerHTML += "s"; } - } else { - name.innerHTML = ""; } } } -- cgit 1.4.1