From 44b8cc5299403e58a6e58db1cbc6520065694a7a Mon Sep 17 00:00:00 2001 From: Saksham Mittal Date: Sun, 3 Apr 2022 18:23:24 +0530 Subject: Get random word from word list, clean up code to work with async There is still a lot of work left to do, particularly with variables being passed to certain functions. No code exists right now where entry by user is checked against the loaded word list. --- script.js | 60 +++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 21 deletions(-) (limited to 'script.js') diff --git a/script.js b/script.js index ad6137e..0ec8a02 100644 --- a/script.js +++ b/script.js @@ -1,20 +1,12 @@ -let maxtries = 6; - -let input = document.querySelector('input'); -let win = document.querySelector('#win'); -let hint = document.querySelector('#hint'); -let attempt = document.querySelector('#attempt'); - let exit = false; -let tries = 0; +let url = "words"; -let answer = "hello"; -let len = answer.length; +fetch(url) +.then(response => response.text()) +.then(wordlist => wordlist.split('\n')) +.then(wordlist => main(wordlist)); -input.setAttribute("maxlength", len); -hint.innerHTML = "Word is of length: " + len + "
"; - -function letterinstr(c) { +function letterinstr(c, len, answer) { let isin = false; @@ -29,13 +21,13 @@ function letterinstr(c) { } -function addGuessDisplay(answer, guess) { +function addGuessDisplay(answer, guess, len, hint) { let cat = "" for (var i = 0; i < len; i++) { - if (guess.charAt(i) != answer.charAt(i) && !(letterinstr(guess.charAt(i))) ) { + if (guess.charAt(i) != answer.charAt(i) && !(letterinstr(guess.charAt(i), len, answer)) ) { cat += '' + guess.charAt(i) + ""; - } else if (guess.charAt(i) != answer.charAt(i) && (letterinstr(guess.charAt(i))) ) { + } else if (guess.charAt(i) != answer.charAt(i) && (letterinstr(guess.charAt(i), len, answer)) ) { cat += '' + guess.charAt(i) + ""; } else if (guess.charAt(i) == answer.charAt(i)) { cat += '' + guess.charAt(i) + ""; @@ -45,7 +37,7 @@ function addGuessDisplay(answer, guess) { } -function validateInput(str) { +function validateInput(str, len) { let isvalid = true; @@ -61,13 +53,13 @@ function validateInput(str) { } -function checkAnswer(event) { +function checkAnswer(event, input, input, win, hint, attempt, tries, answer, len, maxtries) { event.preventDefault(); if (!exit) { - if (validateInput(input.value)) { - addGuessDisplay(answer, input.value); + if (validateInput(input.value, len)) { + addGuessDisplay(answer, input.value, len, hint); tries++; if (input.value == answer) { win.innerHTML = "You won!"; @@ -86,3 +78,29 @@ function checkAnswer(event) { } } } + +function main(wordlist) { + + let maxtries = 6; + + let form = document.querySelector('form'); + let input = document.querySelector('input'); + let win = document.querySelector('#win'); + let hint = document.querySelector('#hint'); + let attempt = document.querySelector('#attempt'); + + let tries = 0; + + let wordlen = wordlist.length; + let randomword = Math.floor(Math.random() * wordlen); + + let answer = wordlist[randomword]; + console.log(answer); + let len = answer.length; + + input.setAttribute("maxlength", len); + hint.innerHTML = "Word is of length: " + len + "
"; + + form.addEventListener("submit", function() { checkAnswer(event, input, input, win, hint, attempt, tries, answer, len, maxtries, wordlist); }); + +} -- cgit 1.4.1