<meta charset="UTF-8">
<input/>
<button>Compare com meu segredo</button>
<script>
function sorteia() {return Math.round(Math.random()*30)}; //função que retorna numero inteiro de zero a 30
//fazemos a função que nos retorna um espaço com n(escolha do usuario) valores, todos aleatorios, sem repetições ou zeros;
function sorteiaNumeros(n){
var segredos = []; // essa variavel é a que recebe os n valores independentes;
var numero = 1
while(numero <= n) { // processo de gerar os numeros aleatorios, sem superar o limite n estabelecido;
var numAleatorio = sorteia(); //variavel anunciada que serve para armazenar e testar os numeros gerados nas condiçoes a seguir;
if(numAleatorio !== 0){ // condição "se" para garantir que zeros não serão armazenados na variavel segredos;
var achou = false; // variavel de teste de repetição dos valores;
for (var posicao = 0; posicao < segredos.length; posicao++) { //função para vasculhar a lista de numeros, e testar se o novo numero a ser associado ja existe;
//IMPORTANTE: posicao = 0 pois assim começa a leitura de espaços no array : [0,1,2,...,n] ;
if(segredos[posicao] == numAleatorio) { //teste de repetição propriamente dito, caso a variavel "achou" receber o valor "true", o teste é interrompido e o numero descartado;
achou = true;
break;
}
}
if (achou == false){ // apos finalizado o teste, sem interrupção, entao o programa reconhece tal como novo elemento, ate a variavel "numero" marcar o fim da lista;
segredos.push(numAleatorio);
numero++ // IMPORTANTE, o comando "numero++" é feito dentro da condição "if", para garantir que os espaços da lista serao preenchidos com valores diferentes;
}
}
}
return segredos
}
var quantidade = prompt("Escolha quantos numeros serão escolhidos aleatoriamente (Max. de 10)"); // comando de interação, assim o usuario pode selecionar a dificuldade do desafio;
if (quantidade > 10){ //condição para garantir que o número de elementos aleatorios não passe de 10;
quantidade = 10
}
var segredos = sorteiaNumeros(quantidade);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false
for(var posicao = 0; posicao < segredos.length; posicao++){
if(input.value == segredos[posicao]){
alert("Voce acertou");
achou = true;
break;
}
}
if (achou == false) {
alert("Voce errou");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>