Bom dia.
Durante a aula eu achei que seria interessante a responsiveVoice ler também o número dos chutes. Inseri no código, funcionou, mas toda vez que eu reinicio o jogo ela lê "o número é maior/menor que" antes de ler, novamente, "Exibir jogo na tela"e "Escolha um número de 1 a 10".
Tentei inserir o comando responsiveVoice.cancel() tanto na função de clicarNovoJogo() quanto dentro de verificarChute(), ambas mal sucedidas.
Alguma sugestão?
//let titulo = document.querySelector("h1");
//titulo.innerHTML = "Jogo do número secreto";
//let paragrafo = document.querySelector('p');
//paragrafo.innerHTML = "Escolha um número de 1 a 10";
let listaDeNumerosSorteados = [];
let numeroLimite = 10;
let numeroSecreto = gerarNumero();
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','Exibir jogo na tela');
exibirTextoNaTela('p','Escolha um número de 1 a 10');
}
exibirMensagemInicial();
function verificarChute(){
let chute = document.querySelector('input').value;
let palavraTentativas = (tentativas>1) ? "tentativas" : "tentativa";
responsiveVoice.speak(chute,'Brazilian Portuguese Female',{rate:1.2});
if(chute==numeroSecreto){
exibirTextoNaTela('h1','Acertou');
exibirTextoNaTela('p',`Você descobriu o número secreto com ${tentativas} ${palavraTentativas}!`);
document.getElementById('reiniciar').removeAttribute('disabled');
//responsiveVoice.cancel(); tentei aqui, não rolou
} else{
if(chute<numeroSecreto){
exibirTextoNaTela('p','O número secreto é maior');
} else{
exibirTextoNaTela('p','O número secreto é menor');
}
tentativas++;
limparCampo();
}
}
function gerarNumero()
{
let numeroEscolhido = parseInt(Math.random()*numeroLimite+1);
if(listaDeNumerosSorteados.length == numeroLimite){
listaDeNumerosSorteados = [];
}
if(listaDeNumerosSorteados.includes(numeroEscolhido)){
return gerarNumero();
} else{
listaDeNumerosSorteados.push(numeroEscolhido);
console.log(listaDeNumerosSorteados);
return numeroEscolhido;
}
}
function limparCampo(){
chute = document.querySelector('input');
chute.value='';
}
function clicarNovoJogo(){
//responsiveVoice.cancel(); tentei aqui, não rolou
numeroSecreto = gerarNumero();
limparCampo();
tentativas=1;
verificarChute();
exibirMensagemInicial();
document.getElementById('reiniciar').setAttribute('disabled',true); //tentei com false deu a mesma merda
}