2
respostas

Advinha com seleção da dificuldade

Coloquei um prompt pro usuário escolher um nível de dificuldade pro joguinho de advinha. Se alguém tiver alguma ideia de melhoria pra essa minha experiência noob comenta ai

<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 dificuldadeInformada = parseInt(prompt("Qual o nível de dificuldade? Entre (1) fácil até (4) difícil"))

    var dificuldade = 10 / dificuldadeInformada -1

    var segredos = sorteiaNumeros(dificuldade);

    console.log(segredos);// para mostrar no console quais foram os números sorteados aletaoriamente


    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>
2 respostas

Muito bom, Derlan!

Bacana mesmo!

Parabéns pela lógica!!!

Temos essa outra forma utilizando um botão

<meta charset="utf-8">

<input type="" name="entrada">
<br>
<br>
<button>Compare com o meu segredo</button>

<script type="text/javascript">

    var segredos = [];
    var entrada = document.querySelector("input");
    var botao = document.querySelector("button");
    var ok = false;
    geraSegredo();

    function sorteia() {

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

    }

    function sorteiaNumeros(quantidade) {

        var numSegredos = [];
        var numero = 1;

        while (numero <= quantidade) {
            var numAleatorio = sorteia();
            var repetido = false;

            if (numAleatorio !== 0) {
                for (var pos = 0; pos < numSegredos.length; pos++) {

                    if (numSegredos[pos] == numAleatorio) {
                        repetido = true;
                        break;
                    }

                }

                if (repetido == false) {
                    numSegredos.push(numAleatorio);
                    numero++;
                }
            }

        }

        return numSegredos;

    }


    function geraSegredo() {
        entrada.focus();
        entrada.value = "";
        segredos = sorteiaNumeros(4);
        console.log(segredos);
    }
    //alert(input.value);
    function verifica() {
        for (var pos = 0; pos < segredos.length; pos++) {
            if (segredos[pos] == entrada.value) {
                alert("Você acertou!!");
                ok = true;
                break;
            }
        }

        if (ok == false) {
            alert("Você errou!!");
        } else {
            ok = false;
            geraSegredo();
        }

        entrada.value = "";
        entrada.focus();
    }

    botao.onclick = verifica;

</script>

Espero ter contribuído!

Um abraço e bons estudos

Desculpe, mas não entendi. Não localizei no seu código uma opção pra sortear mais ou menos números e com isso alterar a dificuldade. O array sempre tem 4 números