Apesar de fazer a programação, senti bastante dificuldade na lógica desta programação.
<meta charset="utf-8">
<input/>
<button>Número escolhido</button>
<script>
function sorteia() { // função feita para gerar números aleatórios de 1 a 10.
return Math.round(Math.random() * 10);
}
function qnt(quantidade) { // função criada para definir a quantidade de elementos e que eles não se repitam.
var numerosSorteados = [];
var repeticao = 1 // variável usada para saber o numero de repetições.
while(repeticao <= quantidade) { // enquanto a quantidade de repetições for menor ou igual a quantidade a variavel numerosSorteados receberá o retorno da função sorteia.
var numeroAleatorio = sorteia();
var acertou = false
for(var posicao = 0; posicao < numerosSorteados.length; posicao++) {
if(numerosSorteados == numeroAleatorio) {
acertou = true;
break;
}
}
if(acertou == false) { // se não acertar, a variável numerosSorteados vai puxar mais um número do sorteia
numerosSorteados.push(numeroAleatorio);
repeticao++; // dentro desse ciclo ele vai ser adicionado 1 elemento na variável repeticao.
}
}
return numerosSorteados;
}
var sorteados = qnt(6); // array com a quantidade de números escolhidos
console.log(sorteados);
var input = document.querySelector("input"); // variável para puxar o valor do input
input.focus() // começar com o foco para escrever no input
function chuta() { // função para puxar a informação
var acertou = false; // variável lógica
for(var posicao = 0; posicao < sorteados.length; posicao++) {
// ciclo criando uma váriavel posição que é a dos números escolhidos no array.
if(sorteados[posicao] == input.value) {
// importante frisar que a variavel sorteados está acompanhado de posição para que ele avalhie a quantidade total de possibilidades
alert("Você acertou, os números escolhidos foram " + sorteados + ".");
acertou = true;
break; // quebra do ciclo ao acertar o número
}
}
if(acertou == false) { // se a variavel lógica for falsa envia o alerta. Obs: ficou fora do ciclo para não repetir a quantidade de posições que possuia.
alert("Você errou!")
}
input.value = ""; // usado para zerar o número após responder.
input.focus() // dar foco após cada tentativa.
}
var button = document.querySelector("button"); // variavel para puxar o botão para o java script
button.onclick = chuta; // responsável por ativar a função chuta, a programação só é chamada através deste botão.
</script>