1
resposta

o reponsiveVoice não funciona alguém pode ver se acha algum erro por favor

let listaDeNumerosSorteados = []; let numeroLimite = 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 numero secreto'); exibirTextoNaTela('p',' digite um numero de 1 a 10'); }

exibirMensagemInicial();

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

if (chute == numeroSecreto){
    exibirTextoNaTela('h1',' parabens vc acertou!');
    let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
    let mensagemTentativas =  `vc descobriu com ${tentativas} ${palavraTentativa}`;
    exibirTextoNaTela('p',mensagemTentativas);
    document.getElementById('reiniciar').removeAttribute
    ('disabled');
} else {
    if (chute > numeroSecreto){
        exibirTextoNaTela('h1','você errou que pena');
        exibirTextoNaTela('p',`o numero era menor que ${chute} `);
    } else {
        exibirTextoNaTela('h1','você errou que pena');
        exibirTextoNaTela('p',`o numero era maior que ${chute}`);
    }
    tentativas++;
    limparCampo();
}

}

function gerarNumeroAleatorio() { let numeroEscolhido = parseInt (Math.random() * numeroLimite +1); let quantidadeDeNumerosNaLista = listaDeNumerosSorteados.length

if (quantidadeDeNumerosNaLista == numeroLimite) {
    listaDeNumerosSorteados = []
}
if (listaDeNumerosSorteados.includes(numeroEscolhido)){
    return gerarNumeroAleatorio();
} else {
    listaDeNumerosSorteados.push(numeroEscolhido)
    console.log(listaDeNumerosSorteados)
    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

Parece que há alguns ajustes que podem ser feitos no seu código para garantir que o responsiveVoice funcione corretamente. Vamos analisar o código e verificar onde podem estar os problemas:

Chamada do responsiveVoice: Certifique-se de que a biblioteca responsiveVoice está carregada corretamente no seu ambiente. Você pode verificar isso incluindo o script correto no seu HTML antes de usar as funções que dependem dela.

Verificação de Erros no Console: Verifique o console do navegador (geralmente acessível pressionando F12 e selecionando a aba "Console") para ver se há erros relacionados ao responsiveVoice. Erros de carregamento de scripts ou de chamadas de função serão exibidos lá.

Possível Correção no Código: Aparentemente, a função responsiveVoice.speak está sendo chamada corretamente em exibirTextoNaTela, mas é importante garantir que todos os parâmetros estejam corretos. Vamos revisar e ajustar um possível problema de sintaxe: let listaDeNumerosSorteados = []; let numeroLimite = 10; let numeroSecreto = gerarNumeroAleatorio(); let tentativas = 1;

function exibirTextoNaTela(tag, texto) { let campo = document.querySelector(tag); campo.innerHTML = texto;

// Verificar se responsiveVoice está definido e a tag está correta
if (typeof responsiveVoice !== 'undefined' && tag === 'h1') {
    responsiveVoice.speak(texto, 'Brazilian Portuguese Female', { rate: 1.2 });
}

}

function exibirMensagemInicial() { exibirTextoNaTela('h1', 'Jogo do Número Secreto'); exibirTextoNaTela('p', 'Digite um número de 1 a 10'); }

exibirMensagemInicial();

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

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

}

function gerarNumeroAleatorio() { let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1); let quantidadeDeNumerosNaLista = listaDeNumerosSorteados.length;

if (quantidadeDeNumerosNaLista == numeroLimite) {
    listaDeNumerosSorteados = [];
}
if (listaDeNumerosSorteados.includes(numeroEscolhido)) {
    return gerarNumeroAleatorio();
} else {
    listaDeNumerosSorteados.push(numeroEscolhido);
    console.log(listaDeNumerosSorteados);
    return numeroEscolhido;
}

}

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

function reiniciarJogo() { numeroSecreto = gerarNumeroAleatorio(); limparCampo(); tentativas = 1; exibirMensagemInicial(); document.getElementById('reiniciar').setAttribute('disabled', true); }

Ajustes e Observações: Verificação de responsiveVoice: Adicionei uma verificação para garantir que responsiveVoice.speak só seja chamado se responsiveVoice estiver definido e se a tag for 'h1', conforme o seu uso.

Revisão de Sintaxe: Corrigi alguns pequenos erros de sintaxe para garantir que o código esteja correto e que as funções sejam chamadas nos momentos apropriados.

Certifique-se de que todos os scripts necessários, incluindo responsiveVoice, estão corretamente carregados no seu ambiente de desenvolvimento. Se ainda houver problemas, verifique o console do navegador para mensagens de erro específicas que possam indicar a causa do problema.