比较3个随机数会出错



我是一个新手,我正在尝试编写一个简单的代码,用于比较老虎机类型游戏的3个随机数。在这种情况下,只有1到3之间,因为我遇到了一个问题。似乎只有1,1,1和2,2,1和3,3,1的组合获胜。有人明白为什么2,2,1和3,3,1获胜,而2,2,2和3,3,3没有吗?

let num1 = Math.floor(Math.random() * 3 + 1);
let num2 = Math.floor(Math.random() * 3 + 1);
let num3 = Math.floor(Math.random() * 3 + 1);
function guess(){
console.log(num1, num2, num3)
if(num1==num2==num3){
console.log('JACKPOT!');
} 
else{
console.log('try again');
}
}
guess() 

提前感谢!

我不是JS爱好者,但我认为如果你用不同的方式比较这3个数字会更好,比如:

num1==num2 && num2==num3

我认为在你的代码中,即使只有num1和num2的比较也能很好地进行

这是因为当使用a==b==c时,您使用的是布尔代数,因此1==1为真,true==1将为真,当进行评估时,您将只得到1 1 1工作或1 1 1 X工作或1 2 2工作。如果要使用布尔代数,你必须计算true=true&true=true,AND将评估如果左侧为true,右侧为true,则JACKPOT。

function guess(){
let num1 = Math.floor(Math.random() * 3 + 1);
let num2 = Math.floor(Math.random() * 3 + 1);
let num3 = Math.floor(Math.random() * 3 + 1);
console.log(num1, num2, num3)
if(num1==num2&&num2==num3){
console.log('JACKPOT!');
} 
else{
console.log('try again');
}
}
guess()

最新更新