gpt4 book ai didi

javascript - 刷新时有时无法加载页面

转载 作者:行者123 更新时间:2023-11-30 11:25:38 26 4
gpt4 key购买 nike

我正在制作一个简单的剪刀石头布游戏。有时当我刷新页面时什么也没有发生。发生这种情况时,不会显示任何错误。我尝试在像 w3schools 这样的在线编辑器上运行这段代码,但结果是一样的。是什么导致了这个问题?

这是我的代码:

<body onload="game()">
<script>
function game(playerItem, computerSelection) {

function computerSelection() {
var arr = ["rock", "paper", "scissors"];
var computerSelection = arr[Math.floor(Math.random() * 3)];
return computerSelection;
}

var playerItem = "rock";

if (playerItem == "rock" & computerSelection() == "paper") {
document.write(rockVSpaper);
return;
};
if (playerItem == "rock" & computerSelection() == "scissors") {
document.write(rockVSscissors);
return;
};
if (playerItem == "rock" & computerSelection() == "rock") {
document.write(rockVSrock);
return;
};
}
var rockVSpaper = "You lose! The computer's paper wraps your rock.";
var rockVSscissors = "You won! Your rock make the computer's scissors blunt.";
var rockVSrock = "Tie! A Rock doesn't do anything with another rock.";
</script>
</body>

最佳答案

它有时不起作用,因为您在 if 语句的条件中运行了三次 computerSelection()。这意味着每次检查时,都会生成一个新的随机计算机选择,这意味着所有三个 if 条件都可能等于 false

要解决这个问题,您应该运行一次 computerSelection() 并将它生成的内容存储在一个变量中,然后在您的 if 语句中使用它。像这样:

var playerItem = "rock";
var computerItem = computerSelection();

if (playerItem == "rock" && computerItem == "paper") {
document.write(rockVSpaper);
return;
};
// The rest of the if statements and code...

这是一个 codepen应用上述修改后。

关于javascript - 刷新时有时无法加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136328/

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