He escrito un programa donde hay tres dados y 3 jugadores. El jugador 1 tira el dado 1, el jugador 2 tira el dado 2, el jugador 3 tira el dado 3. El que saque el número más alto (1-6) es el ganador. No puedo entender cómo escribir correctamente la declaración if-else para mostrar correctamente quién es el ganador. Un código que he probado es:
if (randomNumber1 > randomNumber2 || randomNumber3) { document.querySelector("h1").innerHTML = "Player 1 Wins! 🚩"; } else if (randomNumber2 > randomNumber1 || randomNumber3) { document.querySelector("h1").innerHTML = "Player 2 Wins! 🚩"; } else if (randomNumber3 > randomNumber1 || randomNumber2) { document.querySelector("h1").innerHTML = "Player 3 Wins! 🚩"; } else { document.querySelector("h1").innerHTML = "No Winner!"; } if (randomNumber1 > randomNumber2 && randomNumber3) { document.querySelector("h1").innerHTML = "Player 1 Wins! 🚩"; } else if (randomNumber2 > randomNumber1 && randomNumber3) { document.querySelector("h1").innerHTML = "Player 2 Wins! 🚩"; } else if (randomNumber3 > randomNumber1 && randomNumber2) { document.querySelector("h1").innerHTML = "Player 3 Wins! 🚩"; } else { document.querySelector("h1").innerHTML = "No Winner!"; }Hasta ahora estos no han funcionado. Ocasionalmente el programa es correcto ya que el tiro más alto es el ganador, otras veces, por ejemplo, el jugador 1 tendrá un 5 y el jugador 3 tendrá un 6 y me dice que el jugador 1 es el ganador, lo cual claramente no es cierto. ¿Qué me estoy perdiendo? Por favor ayuda. Soy nuevo en la codificación y he estado tratando de resolver esto todo el día. La mejor manera de entender su respuesta es escribir el formato de código correcto para mí. Siéntase libre de copiar y editar el código que ya he hecho.
Prueba esto
if (randomNumber1 > randomNumber2 && randomNumber1 > randomNumber3) { document.querySelector("h1").innerHTML = "Player 1 Wins! 🚩"; } else if (randomNumber2 > randomNumber1 && randomNumber2 > randomNumber3) { document.querySelector("h1").innerHTML = "Player 2 Wins! 🚩"; } else if (randomNumber3 > randomNumber1 && randomNumber3 > randomNumber2) { document.querySelector("h1").innerHTML = "Player 3 Wins! 🚩"; } else { document.querySelector("h1").innerHTML = "No Winner!"; }Entonces, lo que tenía mal es la declaración if. El && no significa que el primer parámetro se comparará con los otros dos, significa que 2 comparaciones deben ser verdaderas para que se realice la declaración if.
Además, no olvide verificar si 2 o todos los jugadores tienen el mismo resultado y ese es el número más alto.