Para deixar a brincadeira mais divertida eu coloquei um pouco mais de opções (100) de números a serem atualizados. Além disso, inseri um placeholder no input para instruir o usuário na hora de advinhar.
Dessa forma o usuário diz quantos números quer gerar, na hora de rodar o jogo, através de um prompt e na sequência ele tenta encontrar um dos números.
Segue o código para avaliação.
<meta charset="UTF-8">
<input placeholder="Digite um número Max. 100" />
<button>Compare com o meu segredo</button>
<script>
function sorteia() {
return (Math.round(Math.random() * 100))
}
function geraNros(qtde) {
var x = 1;
var numeros = [];
var result = false;
while (numeros.length < qtde) {
item = sorteia();
if (item > 0) {
console.log("Número aleatório: " + item);
if (numeros.length >= 1) {
for (var i = 0; i < numeros.length; i++) {
if (item == numeros[i]) {
result = true;
break;
}
console.log(result);
if (result == false) {
numeros.push(item);
break;
}
}
} else {
numeros.push(item);
}
x++;
}
}
return numeros;
}
var qtde = parseInt(prompt("Quantos números deseja gerar (Max. 10)?"));
var segredos = geraNros(qtde);
console.log(segredos);
var input = document.querySelector('input');
input.focus();
function verificaNumero() {
var result = false;
for (var posicao = 0; posicao < segredos.length; posicao++) {
if (input.value == segredos[posicao]) {
alert('Você acertou!!!');
result = true;
break;
}
}
if (result == false) {
alert("Você Errou!!!");
}
input.value = "";
input.focus();
}
var button = document.querySelector('button');
button.onclick = verificaNumero;
</script>