diff options
author | pommicket <leonardomtenenbaum@gmail.com> | 2017-01-11 22:25:12 -0500 |
---|---|---|
committer | pommicket <leonardomtenenbaum@gmail.com> | 2017-01-11 22:25:12 -0500 |
commit | e9fc63b3814daa727bbc6bd0152b3b2917ae7ae1 (patch) | |
tree | fafce43267974e4c3fb2e63709ed0103b20efbf5 /js | |
parent | f47242f4ecfa8be617ead9295ec81a7f12f9a1e2 (diff) |
Added word length option to Anagram Game
Diffstat (limited to 'js')
-rw-r--r-- | js/anagramgame.js | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/js/anagramgame.js b/js/anagramgame.js index c50c403..b1ad100 100644 --- a/js/anagramgame.js +++ b/js/anagramgame.js @@ -1,5 +1,6 @@ var words = []; var word; +var length; var anagram; var alphabet = "qwertyuiopasdfghjklzxcvbnm"; var letters = alphabet + alphabet.toUpperCase(); @@ -51,6 +52,7 @@ function findWord() { var numWords = words.length; word = words[Math.floor(Math.random()*numWords)]; + console.log(words.length); if (containsSymbols(word)) findWord(); var lc = letterCounts(word); @@ -67,16 +69,24 @@ function findWord() function play() { - $("#hidden").attr("style", "visibility: hidden;"); - $("#again").attr("style", "visibility: hidden;"); - $("#answer").attr("style", "visibility: hidden;"); + length = $("#length").val(); + loadWords(); + +} + + +function showWord() +{ + $("#inputs").hide(); + $("#again").hide(); + $("#answer").hide(); $("#guess").val(""); $("#loading").html("Finding a word with an anagram..."); findWord(); $("#loading").html(""); $("#word").html("Find an anagram of " + word + "."); - $("#hidden").attr("style", ""); - + $("#inputs").show(); + $("#guess").focus(); } function isWord(x) @@ -86,6 +96,11 @@ function isWord(x) function loadWords() { + if (length < 2 || length > 18) + { + $("#error").text("Word length must be 2-18."); + return; + } var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { @@ -95,10 +110,10 @@ function loadWords() words = []; for (var i = 0; i < allwords.length; i++) { - if (allwords[i].length == 7) + if (allwords[i].length == length) words.push(allwords[i].toLowerCase()); } - play(); + showWord(); } }; xhttp.open("GET", "https://raw.githubusercontent.com/sindresorhus/word-list/master/words.txt", true); @@ -107,27 +122,37 @@ function loadWords() function submit() { + if ($("#again").is(":visible")) + { + play(); + return; + } var guess = $("#guess").val().toLowerCase(); if (guess != word && letterCounts(guess).equals(letterCounts(word)) && isWord(guess)) { - $("#answer").attr("style", ""); + $("#answer").show(); $("#answer").html("<span style='color: green'>Correct!</span>"); - $("#again").attr("style", ""); + $("#again").show(); } else { - $("#answer").attr("style", ""); + $("#answer").show(); $("#answer").html("<span style='color: red'>Incorrect!</span>"); } } function giveUp() { - $("#answer").attr("style", ""); + $("#answer").show(); $("#answer").html("<span style='color: red'>The answer was " + anagram + ".</span>"); - $("#again").attr("style", ""); + $("#again").show(); } -loadWords(); + +$("#again").hide(); +$("#answer").hide(); +$("#guess").val(""); +$("#loading").hide(); +$("#guess").show(); |