2
respostas

Exibindo mensagem errada no console

O professor pediu que a gente fizesse que ele exibisse as seguintes frases "Valor invalido" quando a pessoa falar uma palavra, e "Valor invalido: o numero secreto deve estar entre 1 e 1000" só que quando eu falo -200 ele exibe a primeira frase, mas quando eu falo 2000 ele exibe a segunda mensagem, o a mensagem a ser exibida nos dois casos deve ser a segunda, vou deixar meu JS aqui

function validaChute (chute) {
   const numero = +chute
   //verifica se o chute é um numero ou não 
   if(chuteInvalido(numero)) {
      console.log('valor invalido')
   }  
   //verifica se o chute esta dentro do intervalo de 1 e 1000
   if(rangeChute(numero)) {
      console.log(`Valor invalido, o numero secreto precisa estar entre ${menorValor} e ${maiorValor}`)
   }
}

function chuteInvalido(numero) {
   return Number.isNaN(numero)
}

function rangeChute(numero) {
   return numero > maiorValor || numero < menorValor
}
2 respostas

Olá Israel. Aqui está funcionando tudo certo. Conseguiria mandar o código inteiro?

vou tentar primeiro é o que sorteia o numero, o de validação eu já mandei, o ultimo é do reconhecimento de voz

const menorValor = 1
const maiorValor = 1000
const numeroSecreto = gerarNumeroAleatorio()

function gerarNumeroAleatorio() {
    return parseInt(Math.random() * maiorValor + 1)
}

console.log('Número Secreto:', numeroSecreto)

const elementoMenorValor = document.getElementById('menor-valor')
elementoMenorValor.innerHTML = menorValor

const elementoMaiorValor = document.getElementById('maior-valor')
elementoMaiorValor.innerHTML = maiorValor
const elementoChute = document.getElementById('chute')

window.SpeechRecognition = window.SpeechRecognition || webkitSpeechRecognition;

const recognition = new SpeechRecognition();
recognition.lang = 'pt-Br'
recognition.start()

recognition.addEventListener('result', onSpeak)

function onSpeak(e) {
    chute = e.results[0][0].transcript
    exibeChuteNaTela(chute)
    verificaSeOChutePossuiUmValorValido(chute)
}

function exibeChuteNaTela(chute) {
    elementoChute.innerHTML = `
        <div>Você disse</div>
        <span class="box">${chute}</span>
     `
}

recognition.addEventListener('end', () => recognition.start())