1
resposta

[Projeto] Alterei o código, pois estava dando erro...

Acompanhei a criação deste código e assisti esta aula 3 vezes, mas no meu resultado, no console ele ainda estava gerando o "segredo" com números repetidos.

Fix uma alteração no código que aparentemente resolveu esta questão, e gostaria de compartilhar.

<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;
            // Verifica se o número aleatório já foi sorteado
           if (numeroAleatorio !== 0) {
            for (var posicao = 0; posicao < segredos.length; posicao++) {
                    if (segredos[posicao] == numeroAleatorio) {
                        achou = true;
                        break;
                    }
                }

                // Se não foi encontrado número repetido, adiciona o novo número
                if (!achou) {
                    segredos.push(numeroAleatorio);
                    numero++;
                }
            }
            // Gera um novo número aleatório caso encontre um repetido
            else {
                numeroAleatorio = sorteia();
            }
        }

        return segredos;
    }
    var segredos = sorteiaNumeros(5);

    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>


a alteração está exatamente aqui:

                if (!achou) {
                    segredos.push(numeroAleatorio);
                    numero++;
                }
            }
            // Gera um novo número aleatório caso encontre um repetido
            else {
                numeroAleatorio = sorteia();
            }

Poderiam comentar, se esta é realemtne uma opção válida?

Obrigado!!

1 resposta

Oi, Jose! Tudo bem?

Excelente alteração, parabéns! Espero que continue a explorar os conteúdos para ampliar seu conhecimento e desenvolver novas habilidades. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!