Queria mostrar para quem acertou quais eram os números da minha lista e a qual era a posição do número que ele acertou.
Para isso eu fiz o alert da seguinte forma:
alert ("Você ACERTOU!! A lista dos meus segredos eram: " + segredos + " Posição: " + (parseInt(posicao)+1) + " Número: "+ segredos[posicao]);
Eu tinha que somar a 'posicao' mais 1, pq o sistema lê a posição diferente de como o usuário lê. O sistema lê: posição 0, posição 1, posição 2, posição 3 E o usuário lê: posição 1, posição 2, posição 3, posição 4
Se eu usasse a primeira posição da variável 'posicao' o resultado seria 0, mas preciso mostrar para o usuário 1.
Para isso eu tive que usar o 'parseInt' na variável 'posicao' para conseguir somar a o valor da variável 'posicao' com o 1, pois se eu tentasse somar 'posicao + 1' sem o 'parseInt( )', a impressão dava um texto e não somava como eu queria.
Por exemplo, se eu colocasse no input o número "2", eu acertava, mas sai na impressão da posição "31", pq o "2" estava na posição 3 + 1 imprimia "31".
Para resolver eu coloquei dentro do alert
... + (parseInt(posicao)+1) + ...
Queria saber se o que vem da variável por padrão é texto. Obrigado!
<meta charset="UTF-8">
<input/>
<button>Compare com o meu Segredo</button>
<script>
var segredos = [5,7,10,2];
var ultimaPosicao = segredos.length - 1;
var input = document.querySelector("input");
input.focus();
function verifica () {
for (var posicao = 0 ; posicao < segredos.length ; posicao++){
if (input.value == segredos[posicao]){
alert ("Você ACERTOU!! A lista dos meus segredos eram: " + segredos + " Posição: " + posicao+1 + " Número: "+ segredos[posicao]);
break;
}
if (posicao == ultimaPosicao && input.value != segredos[posicao]){
alert ("Você NÃO ACERTOU nenhum dos números de dentro da minha lista. Os números da minha lista eram: " + segredos);
}
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>