Boa noite! Tudo bem?? Espero que sim!!
Não ficou muito claro pra mim essa maneira de tirar os números repetidos... Como posso interpretar melhor o que acontece no código?? Agradeço desde já!
Boa noite! Tudo bem?? Espero que sim!!
Não ficou muito claro pra mim essa maneira de tirar os números repetidos... Como posso interpretar melhor o que acontece no código?? Agradeço desde já!
Sempre que quiser mostrar o seu código no fórum, clique na opção "Inserir Bloco de Código" que está acima do bloco de texto, ou use as teclas "Ctrl+Alt+C" todas ao mesmo tempo.
Opa esqueci de colocar, desculpa!
Os códigos foram esses:
<meta charset="UTF-8">
<input/>
<button>Compare com o meu segredo</button>
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
if (numeroAleatorio !== 0) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if (achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
}
var segredos = sorteiaNumeros(3);
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("Você ACERTOU!");
achou = true;
break;
}
}
if(achou == false) {
alert("Você ERROU!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>
Esse jeito de não deixar com que repetições aconteçam ficou um pouco confuso pra mim...
Agradeço desde já!
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
if (numeroAleatorio !== 0) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if (achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
Aqui, nessa parte, achou = falso, beleza, enquanto for falso quer dizer que não tem números iguais, mas quando segredos = numero aleatório, ou seja, já teve aquele número sorteado, ele pára a ação e a elimina com o break. Acho que a dificuldade aí é porquê está como segredos [posicao] == numero aleatorio, aí fica difícil de ler mesmo.
Espero ter ajudado, abraços.
Ajudou sim! Obrigado!