Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

231
Views
¿Cómo puedo hacer que setInterval() aumente en 1 en lugar de 12?

Mi juego tiene dos jugadores que obtienen números al azar, y la persona que tiene el número más grande obtiene 1 "ganancia". Mi bucle while es para el botón "tirar automáticamente", y en lugar de hacer clic en "tirar dados" cada vez, la tirada automática lo hará por ti hasta que un jugador gane == límite del juego # (bestof.value). No importa dónde coloque mi setInterval, aumenta un montón a la vez. Si bestof.value = 10, cada intervalo muestra al menos 10 victorias para un jugador a la vez.

checkBox.checked = marca de verificación de entrada que habilita la función de desplazamiento automático. Por lo tanto, este setInterval solo estará activo mientras el bucle de rotación automática esté activo.

De todos modos, ¿qué estoy haciendo mal?

 button.addEventListener("click", myFunction); function myFunction() { let random = Math.floor((Math.random() * 6) + 1); let random2 = Math.floor((Math.random() * 6) + 1); screenID.innerHTML = random; screenIDD.innerHTML = random2; if (random > random2){ winNumber.innerHTML = ++a; } else if(random2 > random){ winNumba1.innerHTML = ++b; } else { console.log("Draw"); } if (a > b){ winNumber.style.color = 'white'; winNumba1.style.color = 'black'; } else if(b > a){ winNumba1.style.color = 'white'; winNumber.style.color = 'black'; } else { winNumber.style.color = 'black'; winNumba1.style.color = 'black'; } if (checkBox.checked){ setInterval(myFunction, 2000) while(a < bestof.value && b < bestof.value){ myFunction(); }}; if (winNumba1.innerHTML == bestof.value){ winAlert.style.display = "flex"; console.log('winNumba1 wins!'); } else if (winNumber.innterHTML == bestof.value){ winAlert.style.display = "flex"; console.log('winNumber wins!'); } else {} };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Escribí una versión js simplificada de tu juego aquí ya que no tengo html a mano, pero estoy seguro de que puedes ajustarlo a tu entorno.

Diferencia principal: compruebo si alguien ganó y uso el return para detener la función. Si nadie ganó y la reproducción automática está activada, juego automáticamente después de 500 ms nuevamente.

 let playerA = 0 let playerB = 0 let autoPlay = true let bestOf = 3 function myFunction() { let random = Math.floor((Math.random() * 6) + 1); let random2 = Math.floor((Math.random() * 6) + 1); console.log("New Round " + random + " vs " + random2) if (random > random2) { playerA++ } else if (random2 > random) { playerB++ } else { console.log("Draw"); } if (playerA > playerB) { console.log("a is winning") } else if (playerB > playerA) { console.log("b is winning") } else { console.log("There has been a draw") } if (playerA == bestOf) { console.log('A won'); return } else if (playerB == bestOf) { console.log('B won'); return } if (autoPlay) { setTimeout(myFunction, 500) }; }; myFunction()

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!