【发布时间】:2021-10-16 09:36:20
【问题描述】:
我正在构建这个塔罗牌程序,但布尔语句有问题。我只想显示何时执行 TRUE 语句,但由于某些原因,该程序也在执行 FALSE 语句,并且给了我一个我不想要的空白页。这是我的项目https://jsfiddle.net/4vsyxj3g/的链接。
这是我想要完成的。塔罗牌大约有72张牌,一张牌可以是过去、现在或未来,但不能重复。例如,一张牌不能同时在过去、现在或将来。程序必须为过去、现在和未来选择一张独特的卡片。不管怎样,谢谢大家的帮助。
代码如下:
let a = Math.floor(Math.random() * 3)
let b = Math.floor(Math.random() * 3)
let c = Math.floor(Math.random() * 3)
let x = true
console.log(a + " " + b + " " + c);
if (x)
{
if(a != b && a != c && a != c && b != c)
{
let randomPastCard = document.getElementById("textNamePast")
randomPastCard.textContent = card[a].name
let pastTextCard = document.getElementById("pastText")
pastText.textContent = card[a].past
var img = document.createElement("img");
img.src = card[a].img;
document.getElementById('pastTarotImg').appendChild(img);
let randomPresentCard = document.getElementById("textNamePresent")
randomPresentCard.textContent = card[b].name
let presentTextCard = document.getElementById("presentText")
presentTextCard.textContent = card[b].present
var img = document.createElement("img");
img.src = card[b].img;
document.getElementById('presentTarotImg').appendChild(img);
let randomFutureCard = document.getElementById("textNameFuture")
randomFutureCard.textContent = card[c].name
let futureTextCard = document.getElementById("futureText")
futureTextCard.textContent = card[c].future
var img = document.createElement("img");
img.src = card[c].img;
document.getElementById('futureTarotImg').appendChild(img);
console.log("true1");
x = true
}
<hh class="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>Document</title>
</head>
<body>
<div id="textNamePast"></div>
<div id="pastText"></div> <br>
<div id="pastTarotImg"></div>
<div id="textNamePresent"></div>
<div id="presentText"></div> <br>
<div id="presentTarotImg"></div>
<div id="textNameFuture"></div>
<div id="futureText"></div> <br>
<div id="futureTarotImg"></div>
<br><br>
<br><br>
<script src="tarot.js"></script>
</body>
</html>
}
else
{
console.log("false");
x = false
}
【问题讨论】:
-
您已将
let x = true设置为始终为真。
标签: javascript duplicates boolean