diff options
-rw-r--r-- | index.html | 50 | ||||
-rw-r--r-- | index.js | 34 |
2 files changed, 26 insertions, 58 deletions
@@ -28,56 +28,6 @@ <label>Level</label> <select id="level-select"> - <option value="1">100 Characters</option> - <option value="2">200 Characters</option> - <option value="3">300 Characters</option> - <option value="4">400 Characters</option> - <option value="5">500 Characters</option> - <option value="6">600 Characters</option> - <option value="7">700 Characters</option> - <option value="8">800 Characters</option> - <option value="9">900 Characters</option> - <option value="10">1000 Characters</option> - <option value="11">1100 Characters</option> - <option value="12">1200 Characters</option> - <option value="13">1300 Characters</option> - <option value="14">1400 Characters</option> - <option value="15">1500 Characters</option> - <option value="16">1600 Characters</option> - <option value="17">1700 Characters</option> - <option value="18">1800 Characters</option> - <option value="19">1900 Characters</option> - <option value="20">2000 Characters</option> - <option value="21">2100 Characters</option> - <option value="22">2200 Characters</option> - <option value="23">2300 Characters</option> - <option value="24">2400 Characters</option> - <option value="25">2500 Characters</option> - <option value="26">2600 Characters</option> - <option value="27">2700 Characters</option> - <option value="28">2800 Characters</option> - <option value="29">2900 Characters</option> - <option value="30">3000 Characters</option> - <option value="31">3100 Characters</option> - <option value="32">3200 Characters</option> - <option value="33">3300 Characters</option> - <option value="34">3400 Characters</option> - <option value="35">3500 Characters</option> - <option value="36">3600 Characters</option> - <option value="37">3700 Characters</option> - <option value="38">3800 Characters</option> - <option value="39">3900 Characters</option> - <option value="40">4000 Characters</option> - <option value="41">4100 Characters</option> - <option value="42">4200 Characters</option> - <option value="43">4300 Characters</option> - <option value="44">4400 Characters</option> - <option value="45">4500 Characters</option> - <option value="46">4600 Characters</option> - <option value="47">4700 Characters</option> - <option value="48">4800 Characters</option> - <option value="49">4900 Characters</option> - <option value="50">5000 Characters</option> </select> <br> @@ -9,12 +9,29 @@ let hintLevel = 0; let previousCharacters = []; let completed = false; let mode = "newchars"; -let totalChars = 100; + +const CHARS_PER_LEVEL = 20; + +let totalChars = CHARS_PER_LEVEL; + +function setupLevels() +{ + let levelSelect = $('#level-select'); + let numLevels = Math.floor(characters.length/CHARS_PER_LEVEL); + for (let i=0; i<numLevels; i++) { + let levelString = `${(i+1) * CHARS_PER_LEVEL} Characters`; + levelSelect.append( + $('<option></option>') + .val(i+1) + .text(levelString)); + } +} function randomCharacter() { - let minVal = level * 100 - totalChars; - let maxVal = level * 100; + let minVal = level * CHARS_PER_LEVEL - totalChars; + let maxVal = level * CHARS_PER_LEVEL; + console.log(minVal, maxVal); let index = Math.floor(Math.random() * (maxVal-minVal)) + minVal; return characters[index]; } @@ -24,22 +41,23 @@ function reset() completed = false; level = Number($('#level-select').val()); mode = $('#mode-select').val(); + if (mode === 'allchars') + totalChars = level * CHARS_PER_LEVEL; + else + totalChars = CHARS_PER_LEVEL; + $('#level').text(`Level ${level}`); totalGuesses = 0; totalCorrect = 0; previousCharacters = []; updateCharacter(); updateScore(); - - if (mode === 'allchars') - totalChars = level * 100; - else - totalChars = 100; } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $(document).ready(() => { + setupLevels(); $('#level-select').val('1'); $('#level-select').change(reset); $('#mode-select').change(reset); |