Javascript 如何使变量有50%的几率成为一个值,50%的几率成为另一个值?
这是我上面的代码,我正试图使它成为一个50/50的机会是否损害将=数学。地板(数学。随机()*25)或=0。我试着把一个数学数乘以1,然后再乘以数学数。随机25次,但没有成功。如何使它在50%的时间内等于0,而在另50%的时间内等于math.random*25?这里有一种方法:Javascript 如何使变量有50%的几率成为一个值,50%的几率成为另一个值?,javascript,html,variables,Javascript,Html,Variables,这是我上面的代码,我正试图使它成为一个50/50的机会是否损害将=数学。地板(数学。随机()*25)或=0。我试着把一个数学数乘以1,然后再乘以数学数。随机25次,但没有成功。如何使它在50%的时间内等于0,而在另50%的时间内等于math.random*25?这里有一种方法: a = document.getElementById("find").value if (a == 'Spark' || a == 'Fire') { var monster = x
a = document.getElementById("find").value
if (a == 'Spark' || a == 'Fire') {
var monster = x
var player = y
var damage = Math.floor(Math.random() * 25)
var damageplayer = Math.floor(Math.random() * 30)
alert('Your squad succeeded the enemy has ' + (x = x - damage) + ' original territories!');
alert ('You have' + (y = y - damageplayer) + 'original territories!'); }
var coin=function(){
返回值(Math.random()<0.5?0:1);
}
风险损失=25*coin();
这里有一种方法:
a = document.getElementById("find").value
if (a == 'Spark' || a == 'Fire') {
var monster = x
var player = y
var damage = Math.floor(Math.random() * 25)
var damageplayer = Math.floor(Math.random() * 30)
alert('Your squad succeeded the enemy has ' + (x = x - damage) + ' original territories!');
alert ('You have' + (y = y - damageplayer) + 'original territories!'); }
var coin=function(){
返回值(Math.random()<0.5?0:1);
}
风险损失=25*coin();
不要使用floor()
,因为它总是四舍五入。使用round()
或者,如果您是“将尽可能多的代码塞进一行”的人之一:
不要使用floor()
,因为它总是向下取整。使用round()
或者,如果您是“将尽可能多的代码塞进一行”的人之一:
damage=(Math.random()<0.5)?0:(Math.random()*25);
损坏=(数学随机()<0.5)?0:(Math.random()*25);
尝试使用
damage = (Math.random() < 0.5) ? 0 : (Math.random() * 25);
var aux=Math.random()
如果(aux<0,5){
aux=0
}否则{
aux=损坏
}
然后,您可以使用var aux来代替损坏
damage = (Math.random() < 0.5) ? 0 : (Math.random() * 25);
var aux=Math.random()
如果(aux<0,5){
aux=0
}否则{
aux=损坏
}
然后你可以用var aux代替伤害,有时候我想知道random Math.random到底有多随机 另一种选择:
返回(新日期().GetMillimess()%2) 有时我想知道随机数学。随机真的是 另一种选择: 返回(新日期().GetMillimess()%2) 我找到了一种方法:
var aux = Math.random()
if (aux < 0,5){
aux = 0
}else{
aux = damage
}
由于Math.random
将随机选择一个数字0
到1
我将检查设置为一半,在0.5我找到了一种方法:
var aux = Math.random()
if (aux < 0,5){
aux = 0
}else{
aux = damage
}
由于Math.random
将随机选择一个数字0
到1
我将检查设置为一半,在0.5
处,您可以使用此选项:Math.round(Math.random()*2)
返回0或1,这不是50%的概率,但非常接近。您可以使用此选项:Math.round(Math.random()*2)
这将返回0或1,这不完全是50%的概率,但已经很接近了。也许他们想要四舍五入。这不起作用。括号缺少数学知识。random@AshBurlaczenko我想他们想要floor()
在Math.floor(Math.random*25)
部分,但你永远不能使用floor()
来确定50/50部分。好吧,我想如果你做了Math.floor(Math.random()*2)
,你会的,但我想那会很奇怪。也许他们想要取整。这不起作用。括号缺少数学知识。random@AshBurlaczenko我想他们想要floor()
在Math.floor(Math.random*25)
部分,但你永远不能使用floor()
来确定50/50部分。嗯,我想如果你做了Math.floor(Math.random()*2)
的话,你可能会这样做,但我认为这会很奇怪。使用硬测试很容易测试。与Donald Knuth开发的任何发电机一样好。有证据证明你的方式是随机的吗?重复的周期是多少?不,从计算的角度来看,没有什么特别“随机”的。但当它基于用户生成的事件时,它确实充分满足了“50/50机会”的要求。我认为它需要是随机的。易于使用硬测试进行测试。与Donald Knuth开发的任何发电机一样好。有证据证明你的方式是随机的吗?重复的周期是多少?不,从计算的角度来看,没有什么特别“随机”的。但当它基于用户生成的事件时,它确实充分满足了“50/50机会”的要求。我认为它需要是随机的。
Math.random();
if(Math.random() >= 0.5){ \\set variable to value A }
else { \\set variable to value B }