Bom dia pessoal, tentei criar um joguinho de adivinha misturando um pouco de tudo que foi visto no curso. A ideia é que ele tenha 1 número secreto, dê 3 tentativas e ao invés de Prompt, use um botão, mas surgiu alguns problemas e dúvidas:
Sei que aqui não aparece os números das linhas, mas vou colocar aqui caso alguém queira abrir no Sublime, pode ser que ajude a guiar ;)
1- Na linha 34, criei uma variável com números que deveriam ser desconsiderados, apliquei na linha 36, mas queria entender por que não funcionou, 0 e 10 continuam aparecendo.
2- Queria saber se é possível quando a pessoa acerta o número secreto, a pagina gerar automaticamente outro número, sem a necessidade do usuário ter que recarrega-la. Tentei na linha 79 com o "return sorteiaNumero;" mas pelo visto não é assim que funciona.
3- Estou tendo dificuldades com o incremento de tentativas, o programa não da chances de o usuário tentar novamente; Eu queria uma forma de mostrar o número de tentativas para o usuário, por isso coloquei tentativas na decrescente; Queria que a fosse executada a pagina da linha 87, quando o número de tentativas acabar.
<meta charset="utf-8">
<h1><big> Primeiro Joguinho 4!!!! </big></h1><br><br>
<h3><big>Este jogo continua sendo de adivinha!</big></h3><br>
<input/>
<button> Tente acertar o número secreto! </button>
<script>
function mostra(frase){
document.write(frase + "<br>");
}
function sorteia(){
var multiplicador = 10;
return Math.round(Math.random() * multiplicador);
}
function sorteiaNumero(quantidade){
var segredo = [];
var numero = 1;
while(numero <= quantidade){
var numeroAleatorio = sorteia();
var desconcinderar = [0,10];
if (numeroAleatorio !== desconcinderar){
var achou = false;
for(var posicao = 0; posicao < segredo.length; posicao++){
if (segredo[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if(achou == false){
segredo.push(numeroAleatorio);
numero++;
}
}
}
return segredo;
}
function verifica(){
var achou = false;
var tentativas = 3;
while(tentativas > 0){
for(var i = 0; i < segredo.length; i++){
if(segredo[i] == input.value){
achou = true;
break;
}
}
if(achou == true){
alert("Parabéns você acertou o número secreto!");
return sorteiaNumero;
break;
}else{
alert("Errou! Você ainda tem " + tentativas + " tentativas.");
}
if(tentativas == 1){
alert("O jogo acabou!");
mostra("Por favor aperte F5 para recomeçar");
}
tentativas--;
}
input.value = "";
input.focus();
}
var segredo = sorteiaNumero(1);
var input = document.querySelector("input");
input.focus();
var button = document.querySelector("button");
button.onclick = verifica;
console.log(segredo);
if (segredo.length > 1){
mostra("<h5>Dica: São " + segredo.length + " números de 1 a 9." + "</h5>");
}else{
mostra("<h5>Dica: É um "+ segredo.length + " número de 1 a 9.</h5>");
}
</script>
Agradeço a todos que poderem me ajudar.