Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Escrevi a fase final e não consigo encontrar o erro

Onde está o erro? Por que não funciona como deveria?

<input/>
<button>Pressione</button>

<script>

    function sorteia(){

        return Math.round(Math.random() * 10);
    }    

    function sorteiaNumero(quantidade){

        var segredos = [];
        var numero = 1;

        while(numero <= quantidade){

            var achou = False;
            var numeroSorteado = sorteia();

            for(var posicao = 0; posicao < segredos.length; posicao++){

                if(segredos[posicao] == numeroSorteado){

                    achou = true;                
                    break

                }
            if(achou = false){

                segredos.push(numeroSorteado);
                numero++;
            }        

        }
        return segredos        
    }

    segredos = sorteiaNumero(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]){

                achou = true;
                alert("Você acertou!! <br><br>");
                break
            }
        if(achou == false){

            alert("O número NÃO está na lista :(");
        }
        input.value = "";
        input.focus();
    }


    var button = document.querySelector("button");

    button.onclick = verifica;

</script>
4 respostas

Boa noite, Alan! Como vai?

No console do navegador aparece alguma mensagem de erro? Se sim, vc poderia colar ela aqui?

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Sim, diz a seguinte mensagem: Uncaught SyntaxError: Unexpected end of input

Também diz como se o problema fosse na linha 76 equivalente ao seguinte código: </script>

Não compreendo onde possa estar o erro.

solução!

O problema está na função "sorteiaNumero", ela não está fechada de forma correta, por isso ocorre o erro de "unexpected end of input".

Fiz alguns ajustes na função e esta mensagem de erro deixou de ocorrer

 function sorteiaNumero(quantidade){

        var segredos = [];
        var numero = 1;

        while(numero <= quantidade){

            var achou = false;
            var numeroSorteado = sorteia();

            for(var posicao = 0; posicao < segredos.length; posicao++){

                if(segredos[posicao] == numeroSorteado){

                    achou = true;                
                    break

                }
            }        
            if(achou == false){
                segredos.push(numeroSorteado);
                numero++;
            }        

        }
        return segredos        
    }

É verdade! muito obrigado!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software