HTMLify
script.js
Views: 5 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | const msgEl = document.getElementById('msg'); const randomNum = getRandomNumber(); console.log('Number:', randomNum); window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; let recognition = new window.SpeechRecognition(); // Start recognition and game recognition.start(); // Capture user speak function onSpeak(e) { const msg = e.results[0][0].transcript; writeMessage(msg); checkNumber(msg); } // Write what user speaks function writeMessage(msg) { msgEl.innerHTML = ` <div>You said: </div> <span class="box">${msg}</span> `; } // Check msg against number function checkNumber(msg) { const num = +msg; // Check if valid number if (Number.isNaN(num)) { msgEl.innerHTML += '<div>That is not a valid number</div>'; return; } // Check in range if (num > 100 || num < 1) { msgEl.innerHTML += '<div>Number must be between 1 and 100</div>'; return; } // Check number if (num === randomNum) { document.body.innerHTML = ` <h2>Congrats! You have guessed the number! <br><br> It was ${num}</h2> <button class="play-again" id="play-again">Play Again</button> `; } else if (num > randomNum) { msgEl.innerHTML += '<div>GO LOWER</div>'; } else { msgEl.innerHTML += '<div>GO HIGHER</div>'; } } // Generate random number function getRandomNumber() { return Math.floor(Math.random() * 100) + 1; } // Speak result recognition.addEventListener('result', onSpeak); // End SR service recognition.addEventListener('end', () => recognition.start()); document.body.addEventListener('click', e => { if (e.target.id == 'play-again') { window.location.reload(); } }); |