- Vercel: https://jogo-do-numero-secreto-rust.vercel.app/
- Github: https://github.com/inBetweenTheLines/jogo-do-numero-secreto
app.js
let listaDeNumerosSorteados= [];
let numeroMaximo = 100;
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;
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);
mudarEstadoBotoes('reiniciar','chutar');
}
else if (chute > numeroSecreto)
{
exibirTextoNaTela('h1', 'Errou!');
exibirTextoNaTela('p', `O número secreto é menor que ${chute}.`);
limparCampo();
}
else
{
exibirTextoNaTela('h1', 'Errou!');
exibirTextoNaTela('p', `O número secreto é maior que ${chute}.`);
limparCampo();
}
tentativas++;
}
function exibirTextoNaTela(tag, texto)
{
let campo = document.querySelector(tag);
campo.innerHTML = texto;
responsiveVoice.speak(texto,'Brazilian Portuguese Female',{rate:1.2});
}
function gerarNumeroAleatorio()
{
let numeroEscolhido = parseInt(Math.random() * numeroMaximo + 1);
console.log(listaDeNumerosSorteados.length);
if (listaDeNumerosSorteados.length >= parseInt(numeroMaximo / 10))
{
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();
mudarEstadoBotoes('chutar','reiniciar');
}
function exibirMensagemInicial()
{
exibirTextoNaTela('h1', 'Jogo do Número Secreto.');
exibirTextoNaTela('p', `Escolha um número entre 1 e ${numeroMaximo}:`);
}
function mudarEstadoBotoes(idBotao1, idBotao2)
{
document.getElementById(idBotao1).removeAttribute('disabled');
document.getElementById(idBotao2).setAttribute('disabled', true);
}
index.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://code.responsivevoice.org/responsivevoice.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="style.css">
<title>JS Game</title>
</head>
<body>
<div class="container">
<div class="container__conteudo">
<div class="container__informacoes">
<div class="container__texto">
<h1></h1>
<p class="texto__paragrafo"></p>
</div>
<input type="number" min="1" max="10" id="numeroChute" class="container__input">
<div class="chute container__botoes">
<button onclick="verificarChute()" id="chutar" class="container__botao">Chutar</button>
<button onclick="reiniciarJogo()" id="reiniciar" class="container__botao" disabled>Novo jogo</button>
</div>
</div>
<img src="./img/ia.png" alt="Uma pessoa olhando para a esquerda" class="container__imagem-pessoa" />
</div>
</div>
<script src="app.js" defer></script>
</body>
</html>