Estoy tratando de hacer piedra, papel o tijera a través de The Odin Project, y estoy atascado en el último paso. No parece que tenga problemas para que el indicador funcione, simplemente no puedo sumar puntos o tengo problemas para terminar el juego cuando el jugador o la computadora llegan a 5 puntos. Incluí algunos console.logs en la parte inferior, pero no puedo ver la puntuación debido a las interminables indicaciones. ¿Qué estoy haciendo mal? Solo necesito que el juego termine cuando el jugador o la computadora lleguen a 5 puntos.
let playerScore = 0; let computerScore = 0; function computerPlay() { let allChoices = ["Rock", "Paper", "Scissors"]; let randomChoice = allChoices[Math.floor(Math.random() * allChoices.length)]; return randomChoice } function game() { while (playerScore <= 5 || computerScore <= 5) { const playerSelection = prompt("Would you like to choose R, P or S?") const computerSelection = computerPlay(); alert(playRound(playerSelection, computerSelection)); } } function playRound(playerSelection, computerSelection) { if (playerSelection == computerSelection) { return "Tie game!" } else if (playerSelection == "Rock" && computerSelection == "Scissors") { return `You win! ${playerSelection} beats ${computerSelection}!` playerScore += 1; } else if (playerSelection == "Paper" && computerSelection == "Rock") { return `You win! ${playerSelection} beats ${computerSelection}!` playerScore += 1; } else if (playerSelection == "Scissors" && computerSelection == "Paper") { return `You win! ${playerSelection} beats ${computerSelection}!` playerScore += 1; } else { return `You lose! ${computerSelection} beats ${playerSelection}` computerScore += 1; } } function winGame() { if (playerScore == 5) { return "You win!" } else if (computerScore == 5) { return "You lose!" } } game(); console.log(playerScore); console.log(computerScore);function game() { while (playerScore < 5 && computerScore < 5) { const playerSelection = prompt("Would you like to choose Rock, Paper or Scissors?") const computerSelection = computerPlay(); alert(playRound(playerSelection, computerSelection)); } } function playRound(playerSelection, computerSelection) { if (playerSelection === computerSelection) { return "Tie game!" } else if (playerSelection === "Rock" && computerSelection === "Scissors") { playerScore += 1; return `You win! ${playerSelection} beats ${computerSelection}!` } else if (playerSelection === "Paper" && computerSelection === "Rock") { playerScore += 1; return `You win! ${playerSelection} beats ${computerSelection}!` } else if (playerSelection === "Scissors" && computerSelection === "Paper") { playerScore += 1; return `You win! ${playerSelection} beats ${computerSelection}!` } else { computerScore += 1; return `You lose! ${computerSelection} beats ${playerSelection}` } } Regresaste de la función antes de incrementar los puntos. Por lo tanto, nunca se incrementarán. Además (playerScore <= 5 || computerScore <= 5) significa que el juego continuará hasta que ambos, playerScore y computerScore, estén por debajo de 6. Tiene que detenerse cuando uno de ellos llegue a 5.