Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estou com dúvida no curso de Lógica de Programação, no exercício do capítulo Desafio final.

Gostaria de saber por que mesmo escolhendo os números sorteados, está aparecendo a mensagem "Você perdeu".

<meta charset = "UTF-8">

<script>

var sorteados = [];

for(var i=0; i<6; i++){
    sorteados[i] = Math.round(Math.random() * 60);
    console.log(sorteados);
};

var escolhidos = [];

for(var j=0; j<6; j++){
    escolhidos[j] = parseInt(prompt("Marque um número de 1 a 60"));
};

console.log(escolhidos);

if (escolhidos == sorteados){
    alert("Parabens, voce ganhou");
}else{
    alert("Voce perdeu");
};


</script>
1 resposta
solução!

Levando em consideração que as pessoas não vão adivinhar os números na mesma ordem que eles são sorteados, acho que você deve fazer uma verificação de quantos números a pessoa acertou, independente da ordem que foram jogados ou sorteados. Ex:

    var nAcertos = 0;
    for (i = 0; i < 6; i++) {
        for (j = 0; j < 6; j++) {
            if (escolhidos[i] == sorteados[j]) {
                nAcertos++;
                break;
            }
        }
    }

E depois verificar se o numero de acertos for 6 ele ganhou, caso contrario, ele perdeu. ex:

 if (nAcertos == 6) {
        alert("Parabens, voce ganhou");
    } else {
        alert("Voce perdeu");
    }

A parte do seu código que faz o sorteio ainda tem um problema, pode acontecer que o numero seja sorteado 2 vezes. Espero ter ajudado! Bom estudos :)

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