Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] depois que coloquei no codigo o responsiveVoice o programa parou

ja tentei resolver de diversas formas mais ainda nao achei onde errei, depois que coloquei o responsiveVoice o codigo parou de funcionar e aparecereceu o seguinte erro no console :

Uncaught ReferenceError: responsiveVoice is not defined at exibirTextoNaTela (app.js:9:5) at exibirMensagemInicial (app.js:13:5) at app.js:17:1

segue o codigo :

let listaNumero = []
let numeroLimete = 10
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag)
    campo.innerHTML = texto;
    responsiveVoice.speak(texto, 'Brazilian Portuguese Female', {rate:1.2} );

 }
 function exibirMensagemInicial() {
exibirTextoNaTela ('h1', 'Jogo do número secreto');
    exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
 }

exibirMensagemInicial();

function verificarChute() {
let chute = document.querySelector('input').value;

if (chute == numeroSecreto) {
    exibirTextoNaTela('h1', 'Acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
    exibirTextoNaTela('p', mensagemTentativas);
    document.getElementById('reiniciar').removeAttribute('disabled');
} else {
    if (chute > numeroSecreto) {
        exibirTextoNaTela('p', 'O número secreto é menor');
    } else {
        exibirTextoNaTela('p', 'O número secreto é maior');
    }
    tentativas++;
    limparCampo();
}
}

function gerarNumeroAleatorio() {
let numeroEscolhido = parseInt(Math.random() * numeroLimete + 1);
let quantidadeElemento = listaNumero.length

if(quantidadeElemento == numeroLimete ) {
    listaNumero = []
}
if(listaNumero.includes(numeroEscolhido)) {
    return gerarNumeroAleatorio()
} else {
    listaNumero.push(numeroEscolhido);
    console.log(listaNumero)
    return numeroEscolhido
}
}

function limparCampo() {
chute = document.querySelector('input');
chute.value = '';
}

function reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled', true)
}
1 resposta
solução!

Oi Hyohan,

O erro Uncaught ReferenceError: responsiveVoice is not defined indica que a função responsiveVoice não está disponível no seu código. Isso acontece porque o script da biblioteca responsiveVoice não foi incluído corretamente na sua página HTML. 😜

Para corrigir, você precisa adicionar a seguinte linha de código dentro da tag <head> do seu arquivo HTML, antes de qualquer outro script que utilize o responsiveVoice:

<script src="https://code.responsivevoice.org/responsivevoice.js"></script>

Essa linha carrega a biblioteca responsiveVoice e a torna disponível para uso no seu código JavaScript. 💻

Após adicionar essa linha, o erro deverá desaparecer e a função responsiveVoice.speak() funcionará corretamente. 👍

Para saber mais: Documentação oficial do ResponsiveVoice. Aqui você encontra informações detalhadas sobre como usar a biblioteca, incluindo opções de voz, idioma e velocidade.

Continue praticando e explorando novas funcionalidades! 🤔