2
respostas

Como recarregar a página automaticamente?

Olá amigos, estou testando o código do Adivinha_varios_segredos.

Deu tudo certo mas é preciso recarregar a página para que seja realizado um novo sorteio.

Gostaria de saber se existe a possibilidade de algum comando executar o carregamento de página após pressionar "ok".

<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);


    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

Oi William

Para recarregar a página é Location.reload(), porém não é comum ficar fazendo esse tipo de solução. Seria interessante você executar sua sua função de sorteia e popular novamente a variável segredos, fiz um código aqui baseando no seu com essa solução que comentei:

<meta charset="UTF-8" />

<input />

<!-- primeiro identifiquei com ID os botões -->
<button id="verificar">Compare com o meu segredo</button>
<button id="gerar-novo-segredo">Novo 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);

  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 btnVerificar = document.querySelector('#verificar');
  verificar.onclick = verifica;

// Busquei por ID usando # 
  var btnGerarNovoSegredo = document.querySelector('#gerar-novo-segredo');

  // E aqui toda vez que clicar no botão novo segredo ele vai executar o sorteiaNumeros e popular a variável segredos com novos números
  btnGerarNovoSegredo.onclick = function () {
    segredos = sorteiaNumeros(3);
  };
</script>

Oi Guilherme, ficou muito bacana desse modo que você fez.

Obrigado pela dica!

Vou implementar no meu código suas sugestões.

Abraços!