如何在 Javascript 中进行 while 循环提示

How to while loop prompt in Javascript

提问人:Raymond Sam Chia 提问时间:9/26/2023 更新时间:9/26/2023 访问量:29

问:

我正在用 javascript 制作剪刀、纸、石头游戏。我创建了 3 个函数。第一个 getComputerChoice() 是让计算机在这三者之间随机选择。第二个是 gameNow(),您可以在其中将计算机选择与用户的选择进行比较。最后,game() 是我想根据游戏回合循环 5 次的地方。

我遇到的问题是提示让用户选择一次选项并在接下来的 5 轮中使用它(例如,用户选择“摇滚”。它会自动将计算机选择与同一用户的输入进行比较。我希望用户能够在每一轮中选择他们的选择,但我的 while 循环不会提示下一轮。它只提示了一次。

这是我的代码:

let userChoice = prompt("Pick one, Paper-Scissors-Rock : ");
let userPick = userChoice.toLowerCase();
const maxRound = 5;
let gameRound = 1;

let getComputerChoice = () =>{
    const choiceArr = ["scissors","paper","rock"];
    let i = Math.floor(Math.random()*3);
    return choiceArr[i]
}

let gameNow = (playerSelection,computerSelection) =>{
        if (playerSelection == "rock" && computerSelection == "rock"){
            alert("Tie!")
            gameRound+=1
        } else if (playerSelection == "paper" && computerSelection == "rock"){
            alert("Paper beats Rock, You win!")
            gameRound+=1
        } else if(playerSelection == "scissors" && computerSelection == "rock"){
            alert("Scissors lose to Rock, You lose!")
            gameRound+=1
    
        } else if (playerSelection == "rock" && computerSelection == "scissors"){
            alert("Rock beats scissors, You win!")
            gameRound+=1
        } else if (playerSelection == "paper" && computerSelection == "scissors"){
            alert("Scissors beats Paper, You lose!")
            gameRound+=1
        } else if(playerSelection == "scissors" && computerSelection == "scissors"){
            alert("Tie!")
            gameRound+=1
    
        } else if (playerSelection == "rock" && computerSelection == "paper"){
            alert("Paper beats rock, You lose!")
            gameRound+=1
        } else if (playerSelection == "paper" && computerSelection == "paper"){
            alert("Tie!")
            gameRound+=1
        } else if(playerSelection == "scissors" && computerSelection == "paper"){
            alert("Paper beats rock, You lose!")
            gameRound+=1
        } else {
            alert("Have you entered the right choice?")
            gameRound+=1
        }
}

let game = () => {
    while(gameRound<=maxRound){
        gameNow(userPick,getComputerChoice())
    }
}

game()
JavaScript while-loop 提示

评论

1赞 Konrad 9/26/2023
移动到 while 循环let userChoice = prompt("Pick one, Paper-Scissors-Rock : ");
0赞 Raymond Sam Chia 9/26/2023
它有效!谢谢!!!😂

答: 暂无答案