Fiz um código levemente diferente do do professor:
Percebi que o resultado do Web Speech Recognition
estava sempre sendo uma string com ponto no final. Para eliminar esse ponto, transformei o resultado em número e aproveitei para só exibir o resultado se for um número.
const elChute = document.querySelector("#chute")
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.lang = 'pt-Br'
recognition.start()
recognition.addEventListener('result', onSpeak)
function onSpeak(e) {
let chute = e.results[0][0].transcript
chute = parseInt(chute)
if (!isNaN(chute)) {
elChute.innerHTML = `
<div>Você disse:</div>
<span id="box-chute" class="box">${chute}</span>
`
} else {
elChute.innerHTML = 'Seu chute não é um número. Tente outra vez'
}
}