Estoy haciendo un juego de piedra, papel y tijera para el proyecto Odin que se supone que se ejecutará en la consola.
Actualmente, todo funciona bien hasta que implementé la función llamada game() .
Supuse que llamaría a la función playRound() hasta que la puntuación de los jugadores o la puntuación de la computadora llegara a 5, pero actualmente solo funciona dos veces. Solicita una vez en la parte superior para playerSelection y vuelve a solicitar playerSelection dentro de la función game();
¿Cómo podría hacer que el juego () se ejecute hasta que el puntaje del jugador o el puntaje de la computadora lleguen a 5? ¿Y mostrar el resultado de cada ronda?
let playerScore = 0;
let computerScore = 0;
function computerPlay() {
let choices = ['rock', 'paper', 'scissors']
return choices[Math.floor(Math.random() * choices.length)]
}
let computerSelection = computerPlay();
let playerSelection = prompt("Make your selection, Rock, paper or Scissors").toLowerCase();
function playRound(playerSelection, computerSelection){
if ((playerSelection == "rock" && computerSelection == "scissors") ||
(playerSelection == "scissors" && computerSelection == "paper") ||
(playerSelection == "paper" && computerSelection == "rock")){
playerScore++;
return ("You win! " + playerSelection + " beats " + computerSelection + ", the score is Player:" + playerScore + " Computer:" + computerScore);
} else if (playerSelection == computerSelection){
return "Draw!"
} else {
computerScore++
return ("You lose! " + computerSelection+ ", beats " + playerSelection + " the score is Player:" + playerScore + " Computer:" + computerScore)
}
}
function game(){
if (playerScore < 5 && computerScore < 5) {
let playerSelection = prompt("Make your selection, Rock, paper or Scissors").toLowerCase();
playRound(playerSelection, computerSelection)
}
}
game();
console.log(playRound(playerSelection,computerSelection));