gpt4 book ai didi

javascript - 我需要添加什么,以便我的 JavaScript 可以按我希望的方式运行?

转载 作者:行者123 更新时间:2023-11-29 10:08:16 24 4
gpt4 key购买 nike

我开始学习 JavaScript,这是我制作的第一款游戏:石头剪刀布。(Player vs Computer)现在,一切正常,但我不知道如何制作这个:

当结果为平局时,游戏会再次开始询问我是否想再玩一次,而无需刷新浏览器。

不要用 jQuery 回答,我正在努力学习 JavaScript! :)

这是我的代码片段:

// declare variables
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();

// prevent the user from choosing a different answer
if (userChoice !== "rock" && userChoice !== "paper" && userChoice !== "scissors") {
userChoice = prompt("Your answer is not acceptable! Please choose again!");
}

// pick a random answer from computer
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
alert("Computer: " + computerChoice);

// check who wins
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
alert("The result is a tie!");
} else if (choice1 === "rock") {
if (choice2 === "scissors") {
alert("rock wins");
} else {
alert("paper wins");
}
} else if (choice1 === "paper") {
if (choice2 === "rock") {
alert("paper wins");
} else {
alert("scissors win");
}
}
}

// call the function
compare(userChoice, computerChoice);

最佳答案

您基本上要做的是将游戏包装在一个更大的上下文循环中,它本身只是检查游戏的终止条件。

在结构上,我们假设您的整个游戏都包含在一个函数中:

function playGame() {
// all the code you have now
}

然后循环将具有如下结构:

while (true) {
playGame();

if (!confirm("Would you like to play again?")) {
break;
}
}

您当然可以通过确认获得更多乐趣,或者使用一个值来控制循环而不是使用 break 的无限循环。但概念是一样的。整个循环将继续重复并“再次播放”,直到存在导致其停止的某些条件。

所以在你的情况下,你想检查它是否平局,是吗?结构上是这样的:

while (true) {
playGame();

if (!gameIsTie()) {
break;
}
}

或:

var winner = 0;

while (winner == 0) {
playGame();
winner = determineWinner();
}

您将在其中实现确定游戏是否平局或是否有赢家等所需的功能。

关于javascript - 我需要添加什么,以便我的 JavaScript 可以按我希望的方式运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38789704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com