Saludos estimados,
Subo el resumen de clase de lo comprendido por mí, en dos partes ya que excede los 5000 caracteres.
<meta charset="utf-8"> <!compatibilidad con todos los navegadores>
<br>
<h1>Juego secreto</h1>
<hr>
<input> <!crear un campo de formulario para entrada de usuario>
<button>Verificar si acerto con el secreto</button> <!crear un botón clicable para realizar una acción>
<script>
//¿Qué voy hacer?
//Un juego secreto usando array con números aleatorios
//¿Cómo se va a realizar?
//Los elementos del array serán verificados por la entrada del usuario
//Los elementos del array serán valores aleatorios
//Evitar numeros repetidos en la varaible generada del array
//¿Cuántos elementos tendrá el array?
//Dependerá del parámetro cantidad
// Procedimiento:
//* Creación de una función para generar números aleatorios
//* Creación de la función sorteoNumeros para obtener los números aleatorios en la varaible var secreto = []
//* Llamar a la función sorteos
//* Obtener los datos de entrada del usuario
//* Crear la función verificar
// - Comprueba si el dato del usuario es igual o diferente al de los elementos en el array
//* Mejorar la interacción del usuario
// - creando la etiqueta button
//* Asociación de button con verificar al momento de dar click
// Crear una función para obtener números aleatorios
function aleatorio(){ // no va arecibir parámetros
return Math.round(Math.random()*10) // la función me devuelve un valor aleatorio
}
// Crear una función donde yo pase por parámetros la cantidad de números que quiero en mi array
function sorteoNumeros(cantidad){ // le agreagamos el parámetro de cantidad
// creamos un loop con la cantidad de veces que tenemos en la función, para esta ocación serán 4 repeticiones
var secreto = []; //creación de variable sin definir nada en el array; esta varaible solo funcionara en este bloque,
// no tendrá problemas con mi variable secretos fuera de mi función.
var contador = 1;
while (contador <= cantidad){ //b) pasa el loop while, contador desde 1 hasta 4
var numeroAleatorio = aleatorio(); //c) Generar a un número aleatorio, para eso llama a la función aleatorio
console.log(numeroAleatorio) // para visualizar los números aleatorios generados
var encontrado = false //d) inicializamos primeramente como falso
// Creación de interacción para validación de número repetidos
//e) iniciamos un loop interno, para que en nuestra variable secreto no exista un numero aleatorio repetido en cada una de las rodadas del while
if (numeroAleatorio !=0){ //Para evitar la inclusión de valores cero al array
for(var posicion = 0; posicion <= secreto.length; posicion++){
if(numeroAleatorio == secreto[posicion]){
encontrado = true //Niega la entrada a la variable del array y vuelve a generarse otro número aleatorio
break; //Parar un interacción al cumpplirse una condición
}
}
//f) Si y solo si
if(encontrado == false){ //cuando no se encuetra ningún número repetido
secreto.push(numeroAleatorio); // puedo añadir un valor a var secreto = [];
contador++;1 // recién ahí puedo contabilizar mi interacción
}
//¿qué sucede si mi sentencia estuviera afuera?
//contador++;1 // si esta afuera, al generarse la interacción puede encontrar números repetidos, entonces va a ingresar menos valores al arreglo
}
}
return secreto; // g) return valores aleatorios de mi interacción hacia mi función.
}