Javascript 掷骰子游戏如果else语句不起作用

Javascript 掷骰子游戏如果else语句不起作用,javascript,Javascript,下面是我需要编写的代码的描述: 设计一个游戏的逻辑,通过生成两个介于1和6之间(包括1和6)的数字来模拟掷两个骰子(每个骰子一个数字) 玩家将在2到12之间选择一个数字(两个骰子的最低和最高总数) 然后程序将掷骰子三次 --如果用户的猜测出现在其中一个卷中,则用户获胜。 --如果猜不出来,计算机就赢了 我们还没有启动数组,但我将使用for循环和if-else 我的if-else语句不起作用。 每一卷都上来了,你输了 代码如下: randname=prompt(“请输入一个介于2和12之间的数字”

下面是我需要编写的代码的描述:

设计一个游戏的逻辑,通过生成两个介于1和6之间(包括1和6)的数字来模拟掷两个骰子(每个骰子一个数字)

玩家将在2到12之间选择一个数字(两个骰子的最低和最高总数)

然后程序将掷骰子三次
--如果用户的猜测出现在其中一个卷中,则用户获胜。
--如果猜不出来,计算机就赢了

我们还没有启动数组,但我将使用for循环和if-else

我的if-else语句不起作用。 每一卷都上来了,你输了

代码如下:
randname=prompt(“请输入一个介于2和12之间的数字”);
而(随机数=13){
警报(“输入不正确,请重试”);
randNumber=提示(“请输入一个介于2和12之间的数字”);
}
对于(变量i=0;i<3;i++){
computerRoll=1+Math.ceil(Math.random()*11);
文件。写入(computerRoll+“
”); } 函数rollDice(){ var computerRoll=rollDice(2,12); } var computerRoll=rollDice; 如果(随机数==计算机滚动){ 写下(“你赢了”); }否则{ 写下(“你输了”); }
  • 如果计算机试图掷2个骰子,则需要2个随机数,都转换为0到5的范围,然后相加,再相加2。(尝试创建一个滚动一个骰子的函数,然后调用它两次。)
  • 函数的作用是:不返回值。它的电脑卷独立于外部电脑卷
  • 外部computerRoll设置为一个函数,该函数永远不等于一个数字。这就是为什么你只能得到损失

如果我的翻译是正确的:

让randNumber、computerRoll
做
{
如果(随机数!=未定义){
警报('输入不正确,请重试')
}
randNumber=parseInt(提示('请输入一个介于2和12之间的数字)//bce promt值为字符串
}

而(!(1
rollDice()
具有无限递归。您粘贴的代码中存在明显的语法错误,难以回答您的问题,请您将代码正确粘贴到您的问题中好吗?
var computerRoll=rollDice;
这将变量设置为函数,而不调用函数。说明中说您应该生成2介于1和6之间的数字,而不是介于2和12之间的数字。“介于1和6之间的2个数字,而不是介于2和12之间的1个数字”只是为了重申这一点很重要。简单地生成介于2和12之间的数字将使您获得均匀分布,滚动骰子并将其相加(或生成1-6两次)将产生更多的钟形曲线-你最有可能得到
7
,而
2
12
的概率最低,你得到每个数字的概率较小。只有骰子的位置可以生成-
1+1
6+6
,而
7
可以通过
1+6>生成
2+5
3+4
4+3
5+2
6+1
。我运行它时没有遇到语法错误。我没有意识到我们需要两个2骰子(这是我的错误)。有人能解释一下我是如何调用函数的吗?很抱歉,这都是新手,老师没有太多帮助。还有,我该如何做1-6的两个骰子?谢谢你的帮助!在javascript中,rollDice具有可调用函数的值,而rollDice()调用函数并具有其返回值。其他一些语言可以不使用括号进行调用。谢谢大家的帮助!我从你们那里学到了很多东西。我相信,随着学期的进展,我会带着更多的问题回来。输入验证:最难做的任务之一。3.1415现在已经通过。@DavidG.I假设这是高斯曲线,中心的值是分布概率最高的值