The game works fine after 1 round. I'm trying to play 5 rounds. I tried a for-loop before the while loop. But, it still only prompts the user for input one time.
let computerPlay = () => {
let compChoices = ["rock", "paper", "scissors"]; //array storing computer possible actions
let i = Math.floor(Math.random() * 3);
let choice = compChoices[i];
return choice;
};
//
let playerChoice = prompt("Select your action").toLowerCase();
let computerChoice = computerPlay();
let playRound = (playerSelection, computerSelection) => {
let winner = "";
if (playerSelection === computerSelection) {
winner = "tie";
} else if (playerSelection > computerSelection) {
winner = "player";
} else {
winner = "computer";
}
return console.log(winner);
};
let i = 0;
while (i < 5) {
playRound(playerChoice, computerChoice);
i++;
}
UPDATED
As requirement, author is asking to keep playerSelection and computerSelection params for playRound. I'd propose the fix is to put playerChoice and computerChoice in while loop
let computerPlay = () => {
let compChoices = ["rock", "paper", "scissors"]; //array storing computer possible actions
let i = Math.floor(Math.random() * 3);
let choice = compChoices[i];
return choice;
};
let playRound = (playerSelection, computerSelection) => {
let winner = "";
if (playerSelection === computerSelection) {
winner = "tie";
} else if (playerSelection > computerSelection) {
winner = "player";
} else {
winner = "computer";
}
return console.log(winner);
};
let i = 0;
while (i < 5) {
//here is the change
let playerChoice = prompt("Select your action").toLowerCase();
let computerChoice = computerPlay();
playRound(playerChoice, computerChoice);
i++;
}
OLD ANSWER
Your problem is you pass prompt outside of your playRound. playerSelection and computerSelection should be in playRound too that would help for resetting values of computer and your choices' every round.
let computerPlay = () => {
let compChoices = ["rock", "paper", "scissors"]; //array storing computer possible actions
let i = Math.floor(Math.random() * 3);
let choice = compChoices[i];
return choice;
};
let playRound = () => {
let playerSelection = prompt("Select your action").toLowerCase();
let computerSelection = computerPlay();
let winner = "";
if (playerSelection === computerSelection) {
winner = "tie";
} else if (playerSelection > computerSelection) {
winner = "player";
} else {
winner = "computer";
}
return console.log(winner);
};
let i = 0;
while (i < 5) {
playRound();
i++;
}