Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jr.zaghetto

Javascript função para verificar

Recommended Posts

Olá Pessoal, tudo bem?

Estou aprendendo Javascript recentemente, e estou com uma dificuldade na resolução de um código. Vou postar o código e depois minha dúvida.

var userChoice = prompt("Você escolhe pedra, papel ou tesoura?");

if (userChoice == "pedra" || userChoice == "papel" || userChoice == "tesoura") {
    console.log("Você escolheu: " + userChoice);
} else {
    console.log("Sinto muito, o jogo não pode continuar porque você só pode escolher entre PEDRA, PAPEL ou TESOURA");
    userChoice = prompt("Escolha entre PEDRA, PAPEL ou TESOURA");
}

Como viram acima, eu criei uma IF/ELSE pra ver se o usuário colocou "PEDRA", "PAPEL" ou "TESOUSA", caso não tenha colocado isso, o código ira mandar ele escolher novamente. Porém isso só vai ocorrer durante 2 vezes, mas existe a possiblidade da pessoa colocar outra coisa que não as 3 opções.

 

O que eu desejo fazer, é que fique rodando esta verificação até que o usuário escolha uma das três opções, caso escreva qualquer outra coisa, ela vai ficar abrindo o prompt forever (ATE ELE DEIXAR DE SER TEIMOSO, rs)

 

Agradeço desde já pelas pessoas que tentarem solucuonar xbiggrin.png.pagespeed.ic.XhpYJIv77v6UNr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código é sincrono.. logo vc pode fazer assim:

 

<script>
function validChoice(userChoice) {
  return userChoice == "pedra" || userChoice == "papel" || userChoice == "tesoura";
}
var userChoice = prompt("Você escolhe pedra, papel ou tesoura?");

while ( !validChoice(userChoice) ) {
  console.log("Sinto muito, o jogo não pode continuar porque você só pode escolher entre PEDRA, PAPEL ou TESOURA");
  userChoice = prompt("Você escolhe pedra, papel ou tesoura?");
}

console.log("Você escolheu: " + userChoice);
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.