¿Saben por qué no puedo generar más de 10 números aleatorios? *(Advertencia) si usan los números a partir del 11 el programa entra en un bucle infinito. *
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Etiquetas</title>
</head>
<body style="
background-color: black;
color: white;
">
<h1>
Juego de adivinación usando campos de texto
</h1>
<h3>Ingrese la cantidad de valores a generarse</h3>
<input id="CantidadValoresAleatorios" type="text">
<!--<input type="button" value="generarValores" onclick="generadorValoresSecretos()">-->
<h3>Ingrese el valor a verificar</h3>
<input id="Valores" type="text">
<input type="button" value="Verificaión" onclick="capturarValores()">
<script>
const contenidoInput = document.getElementById("Valores");
contenidoInput.focus();
function saltarLinea(){
document.write("<br>");
}
//eneración de valores aletorios
function generacionAleatorio() {
let naleatorio = Math.round(Math.random()*10);
return naleatorio;
}
function generadorValoresSecretos(){
//capttura y conversión
const $inputValueCantidadValoresAleatorios = document.getElementById("CantidadValoresAleatorios");
let cantidadValores = parseInt($inputValueCantidadValoresAleatorios.value);
//Generación de un array con aleatorios
let valores = []
let contador = 1;
while(contador <= cantidadValores){
let numeroAleatorio = generacionAleatorio();
let encontrado = false;
if (valores.length == 0) {
valores.push(numeroAleatorio);
contador++;
}
else{
for (let index = 0; index < valores.length; index++) {
if (numeroAleatorio == valores[index] || numeroAleatorio == 0) {
encontrado = true;
break
}
else{
encontrado = false;
}
}
if (encontrado == false) {
valores.push(numeroAleatorio);
contador++;
}
}
}
return valores;
console.log(valores);
}
function capturarValores() {
const contenidoInput = document.getElementById("Valores");
let arrayValoresSecretros = generadorValoresSecretos();
let valorCapturado = parseInt(contenidoInput.value);
for (let index = 0; index < arrayValoresSecretros.length; index++) {
if (valorCapturado == arrayValoresSecretros[index]) {
alert(`Usted acerto, su valor ingresado fue ${valorCapturado} y el valor era ${arrayValoresSecretros[index]}`)
break;
}
else{
alert(`Usted no acertó, su valor ingresado era ${valorCapturado}, el valor era ${arrayValoresSecretros[index]}`)
}
}
document.write(arrayValoresSecretros)
contenidoInput.focus();
}
</script>
</body>
</html>