Olá pessoal! Precisava de uma ajuda, para saber o que tem de errado no meu código. O exercício é fazer um programa que adivinha o número, mas tem um um número limitado de tentativas. Fiz o código, quando executo faz certinho (pelo que vi), porém aparece esse erro pra mim: “>>>>Code is incorrect
Make sure you’re decrementing the value the variable tries after generating and print a new guess”.
Vou deixar aqui o código, espero não estar tão feioso… 
var target = Math.floor(Math.random() * 11);
var guess = Math.floor(Math.random() * 11);
var tries = 5;
while (tries > 0) {
guess = Math.floor(Math.random() * 11);
console.log(guess);
target = Math.floor(Math.random() * 11);
console.log(target);
console.log(tries–);
if (guess == target && tries > 0) {
console.log(“Yay! You’ve done it!”);
break;
}
console.log(‘That sad! It was not this time…’);
}
Muito obg a quem puder me dar uma luzinha 
Você está redefinido o valor do alvo (target) a cada iteração do while
e eu creio que isso não seja o correto… Que tal assim:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Teste de Função</title>
<script>
function soothsayer(){
var target = Math.floor(Math.random() * 11);
var guess = Math.floor(Math.random() * 11);
var tries = 5;
console.log("Target: " + target);
while (tries > 0){
guess = Math.floor(Math.random() * 11);
console.log("Guess: " + guess);
//target = Math.floor(Math.random() * 11);
//console.log("Target: " + target);
console.log("Tries: " + tries--);
if(guess == target && tries > 0){
console.log("Yay! You’ve done it!");
break;
}
console.log("That sad! It was not this time...");
}
}
soothsayer();
</script>
</head>
<body>
</body>
</html>
Rodando…
Valeu pela nomeação das variáveis no console… esqueci o mais básico rsrs…
Então, coloquei lá assim, mas ainda retorna um esse erro: “Make you you’re printing the value of guess to the console in the line below assigning it a new value”.
Não entendi o que fazer… o valor de guess não é sempre novo? E esse imprimir na linha de baixo, não seria o que já está acontecendo? Olha aí como fica lá…
“Make you you’re printing the value of guess to the console in the line below assigning it a new value” - Imprima o valor de guess
no console na linha abaixo atribuindo-lhe um novo valor. Creio que esse erro se deve ao fato de que fora do while
há uma atribuição do valor de guess
e de novo dentro do while
para só então imprimir. Com efeito, a ordem mais inteligente seria:
function soothsayer(){
var target = Math.floor(Math.random() * 11);
var guess = Math.floor(Math.random() * 11);
var tries = 5;
console.log("Target: " + target);
while (tries > 0){
console.log("Guess: " + guess);
console.log("Tries: " + tries--);
guess = Math.floor(Math.random() * 11);
if(guess == target && tries > 0){
console.log("Yay! You’ve done it!");
break;
}
console.log("That sad! It was not this time...");
}
}
soothsayer();
Ou seja, a cada atribuição guess = Math.floor(Math.random() * 11)
há uma impressão no console correspondente. Também pode sugerir que se deva eliminar a inicialização de guess
fora do while
:
function soothsayer(){
var target = Math.floor(Math.random() * 11);
var guess;
var tries = 5;
console.log("Target: " + target);
while (tries > 0){
guess = Math.floor(Math.random() * 11);
console.log("Guess: " + guess);
console.log("Tries: " + tries--);
if(guess == target && tries > 0){
console.log("Yay! You’ve done it!");
break;
}
console.log("That sad! It was not this time...");
}
}
soothsayer();
Então, se eu coloco como na primeira ordem que você colocou, aparece esse erro: “The first line in your while’s block should assign a new value to the variable guess.”.
E se eu coloco na segunda ordem, volta o erro anterior: “Make you you’re printing the value of guess to the console in the line below assigning it a new value”…
Não consigo entender…