Javascript 数值误差的选择
我试图确定总数等于多少,然后对每个选择做一项工作。我的第一个选择是如果总数是2、3或12,那么你输了。如果是7或11,你输了。其他任何东西都可以证明这一点。首先,我的代码看起来像这样,但每一次,它都会转到其他地方。通过使用此函数将2个随机数相加计算总数:Javascript 数值误差的选择,javascript,selection,Javascript,Selection,我试图确定总数等于多少,然后对每个选择做一项工作。我的第一个选择是如果总数是2、3或12,那么你输了。如果是7或11,你输了。其他任何东西都可以证明这一点。首先,我的代码看起来像这样,但每一次,它都会转到其他地方。通过使用此函数将2个随机数相加计算总数: Math.floor(Math.random()*6+1); 然后我把它改成这样: function game() { if(total==2 , 3 , 12) { alert("You lose. Pl
Math.floor(Math.random()*6+1);
然后我把它改成这样:
function game()
{
if(total==2 , 3 , 12)
{
alert("You lose. Please start a New Round");
return;
}
if(total==7 , 11)
{
var temp= 2 * bet;
alert("You win $" + temp);
return;
}
else
{
alert("Point Established. Roll again.");
var point=total;
setTimeout(rolldice2,3000);
}
}
但它只是说你无论如何都会输。然后我终于拿出了回程票。它执行前2项,而不是其他项。我希望能够选择一个-取决于变量total等于什么-然后执行其作业,然后离开函数 在您的情况下,总变量未定义
将total传递给函数并执行switch语句
function game(total)
{
switch(total)
{
case 2 :
case 3 :
case 12 : {
alert("You lose. Please start a New Round");
return;
}
case 7 :
case 11 :
{
var temp= 2 * bet;
alert("You win $" + temp);
return;
}
default :
{
alert("Point Established. Roll again.");
var point=total;
setTimeout(rolldice2,3000);
}
}
}
你在哪里计算总数?尽管我很欣赏这些废话,但你提供的代码并没有透露足够的信息,我们无法帮助计算之前的总数。我没有把它包括在内,因为它被计算得很好。我知道这一点,因为它显示总数,然后执行上述功能。这就是问题所在。通过将两个随机数相加算出总数Math.floorMath.random*6+1@JamesWhitney你想让我包含整个Javascript文件吗?在这一点上,只包含整个JS文件可能是最简单的,是的。事实上,你不明白其他人所说的“显示总数”是什么意思——这将是一个巨大的下降趋势,如果你不解决你的问题,我怀疑它最终会被关闭。这是一个比OP提供的代码更容易阅读的更好的结构,但它不会从根本上改变代码的处理方式,我不同意,在操作代码中,total是未定义的。在我的例子中,total被传递到函数并被处理。他说,但它只是说,不管发生什么,你都会输。表示每次总是输入2、3、12号案例。这意味着缺少代码来获取OP未与我们共享的总计。您的解决方案确实有助于解决OP忘记7和11 be else if和just if这一事实,这也无法正确工作。总计不是未定义的。它是在上一个函数中定义的。
function game(total)
{
switch(total)
{
case 2 :
case 3 :
case 12 : {
alert("You lose. Please start a New Round");
return;
}
case 7 :
case 11 :
{
var temp= 2 * bet;
alert("You win $" + temp);
return;
}
default :
{
alert("Point Established. Roll again.");
var point=total;
setTimeout(rolldice2,3000);
}
}
}