我正在做一个简单的石头剪刀布游戏,所以当你点击按钮时,它会说石头,剪刀布或剪刀。这是可行的,但是,我编码它说“石头已被选中”,当石头被选中。每当石头出现,它永远不会出现。我曾尝试使用一个on click,但那不起作用。我也试过用双等于,但似乎也不起作用。有人知道怎么解决吗?非常感谢。
Home.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rock paper scissors</title>
<head>
</head>
<body>
<p id="rand"></p>
<p id="decider"></p>
<button type="button" id="randi"> new choice </button>
<script src="Home.js">
</script>
</body>
</html>
Home.js:
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min) );
}
const element = document.getElementById("randi");
element.addEventListener("click", Choose, check);
function Choose() {
return document.getElementById("rand").innerHTML = choix[getRndInteger(0,3)];
}
function check() {
if (Choose() === 'Rock'); {
document.getElementById("decider").innerHTML = "rock has been chosen";
}
}
const choix = ["Rock", "Paper", "Scissors"];
3条答案
按热度按时间7d7tgy0s1#
addEventListener只能有一个回调函数-https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
2cmtqfgy2#
您的
addEventListener
似乎也不正确,第三个参数(check
)无效。以下内容可能会给予您想要的结果?
laawzig23#
您将问题和对
if
-语句的需要过于复杂化了。对于AI选项的显示,只需从数组中随机选取一个选项,然后用字符串显示该选项。如果将字符串放入
backticks
,则可以直接在其中包含一个变量并命名该选项。之后,你需要用
switch
-语句将选择与玩家选择进行比较!switch
-语句所用的时间是if
-语句的1.6-2倍。这意味着,只要你需要多于一个if语句,switch语句就会更快第一个