Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

216
Visualizações
Mientras repite varias declaraciones en js. "El juego de los dados"

Tengo que crear un juego de dados, si cae en 2,3,6,12, se supone que el juego se detiene y me dice en cuál de los números cayó la suma de mis dos dados y cuántas "tiradas" o intentos. me llevó a llegar allí. No he podido averiguar por qué mi programa no funciona, si borro las condiciones en el ciclo while y dejo solo una, por ejemplo: while(dice != 2); el programa se ejecutará, pero obviamente solo coincidirá si aterriza en 2. ¡Por favor, ayúdenme!

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (dice != numb1 || dice != numb2 || dice != numb3 || dice != numb4) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Cambia tu || a && en tu while

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (dice != numb1 && dice != numb2 && dice != numb3 && dice != numb4) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; } play()
 <div id="results"></div> <div id="rolls"></div>

puede mejorar la condición while usando includes

 function play() { var dice = -1; var rolls = 1; var numb1 = 2; var numb2 = 3; var numb3 = 6; var numb4 = 12; while (![numb1, numb2, numb3, numb4].includes(dice)) { dice = Math.floor(Math.random() * 11) + 2; rolls++; } document.getElementById('results').innerHTML = 'Your dice landed on: ' + dice; document.getElementById('rolls').innerHTML = 'Rolls: ' + rolls; } play()
 <div id="results"></div> <div id="rolls"></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Su código no funciona, porque los dice tendrían que ser cada uno de estos números al mismo tiempo para funcionar, lo cual es imposible.

Intenta hacer esto:

 while (![2, 3, 6, 12].includes(dice)) {

Además, su función aleatoria no puede obtener 1 , tal vez intente:

 Math.floor(Math.random() * 12) + 1
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda