//let titulo = document.querySelector("h1"); // Seleciona o elemento <h1> do HTML
//titulo.innerHTML = "Bem-vindo ao jogo do número secreto!"; // Modifica o conteúdo do <h1> para o texto especificado
//let texto = document.querySelector("p"); // Seleciona o elemento <p> do HTML
//texto.innerHTML = "Tente adivinhar o número secreto entre 1 e 100!";// Modifica o conteúdo do <p> para o texto especificado
let listaNumerosSortados = []; // Inicializa um array vazio para armazenar números sorteados, sempre na linha 1
let numeroSecreto = gerarNumero(); // Gera um número secreto aleatório entre 1 e 100
let tentativas = 1; // Inicializa o contador de tentativas
//função para modificar texto sem ficar repetindo código
function exibirTexto(tag, text) {
let campo = document.querySelector(tag); // Seleciona o elemento HTML com a tag especificada
campo.innerHTML = text;
}
function mensagemInicial() {
exibirTexto("h1", "Bem-vindo ao jogo do número secreto!"); // Exibe o texto no elemento <h1>
exibirTexto("p", "Tente adivinhar o número secreto entre 1 e 50, em 5 tentativas!");// Exibe o texto no elemento <p>
}
mensagemInicial(); // Chama a função para exibir a mensagem inicial
function verificarChute() {
let chute = document.querySelector('input').value; // Obtém o valor do campo de entrada
if (chute < 1 || chute > 50 || isNaN(chute)) { // Verifica se o chute está fora do intervalo ou não é um número
exibirTexto("p", "Por favor, digite um número entre 1 e 50!"); // Exibe mensagem de erro
limparCampo(); // Limpa o campo de entrada
document.getElementById('reiniciar').removeAttribute('disabled');// Desabilita o botão após chute inválido
return; // Encerra a função se o chute for inválido
}
if (tentativas > 5) {
exibirTexto("h1", "Você perdeu!"); // Exibe mensagem de derrota
exibirTexto("p", "O número secreto era " + numeroSecreto + ". Tente Novamente!"); // Exibe o número secreto
document.getElementById('reiniciar').removeAttribute('disabled'); // Desabilita o botão após perder
return; // Encerra a função se o número de tentativas for maior que 5
}
if (chute == numeroSecreto) {
exibirTexto("h1", "Parabéns, você acertou!"); // Exibe mensagem de sucesso
let palavraTentativa = tentativas == 1 ? "tentativa" : "tentativas"; // Define a mensagem de tentativas
let mensagemTentativas = `O número secreto era ${numeroSecreto} em ${tentativas} ${palavraTentativa}.`;
exibirTexto("p", "Você acertou em " + tentativas + " " + mensagemTentativas + "!"); // Exibe o número de tentativas
exibirTexto("p", mensagemTentativas); // Exibe mensagem com o número secreto e tentativas
document.getElementById('reiniciar').removeAttribute('disabled'); // Desabilita o botão após acertar
} else {
if (chute > numeroSecreto) {
exibirTexto('p', 'O número secreto é menor!'); // Exibe dica se o chute for maior que o número secreto
} else {
exibirTexto('p', 'O número secreto é maior!'); // Exibe dica se o chute for menor que o número secreto
}
tentativas++; // Incrementa o contador de tentativas
limparCampo();
}
}
function gerarNumero() {
let numeroEscolhido = parseInt(Math.random() * 50 + 1); // Gera um número aleatório entre 1 e 50
let quantidadeDeElementosNaLista = listaNumerosSortados.length; // Obtém a quantidade de elementos na lista de números sorteados
if (quantidadeDeElementosNaLista == 50) {
listaNumerosSortados = []; // Reseta a lista se todos os números já foram sorteados
quantidadeDeElementosNaLista = 0; // Reseta a quantidade de elementos na lista
}
if(listaNumerosSortados.includes(numeroEscolhido)) {
return gerarNumero(); // Se o número já foi sorteado, chama a função recursivamente
} else {
listaNumerosSortados.push(numeroEscolhido); // Adiciona o número sorteado à lista
return numeroEscolhido; // Retorna o número sorteado
}
}
function limparCampo() {
chute = document.querySelector('input'); // Seleciona o campo de entrada
chute.value = ""; // Limpa o campo de entrada
}
function reiniciarJogo() {
numeroSecreto = gerarNumero(); // Gera um novo número secreto
limparCampo(); // Limpa o campo de entrada
tentativas = 1; // Reseta o contador de tentativas
mensagemInicial(); // Exibe a mensagem inicial
document.getElementById('reiniciar').setAttribute('disabled', true); // Desabilita o botão de reiniciar
}
[https://jogo-numero-secreto-shirley-roques-projects.vercel.app/](link para o projeto completo) [https://github.com/roqueshirley/jogo_numero_secreto.git](link para o código no github)