Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何添加两个掷骰子的值_Javascript_Html_Dice - Fatal编程技术网

Javascript 如何添加两个掷骰子的值

Javascript 如何添加两个掷骰子的值,javascript,html,dice,Javascript,Html,Dice,我正在做一个骰子游戏,我想显示两个骰子在初始掷骰时加在一起的值 我如何实现这一目标?现在它只同时显示两个数字,我不确定应该将其设置为什么,以便它可以显示两个骰子的附加滚动值。我有+运算符: 让rollpts=dice1+dice2; document.getElementByIdpoints.innerHTML=第一个滚动点:++rollpts 例如,dice1掷3,dice2掷6,我希望javascript计算3+6,并将最初的第一个掷点数显示为9,然后将计算出的值附加到我想要的位置。我可以看

我正在做一个骰子游戏,我想显示两个骰子在初始掷骰时加在一起的值

我如何实现这一目标?现在它只同时显示两个数字,我不确定应该将其设置为什么,以便它可以显示两个骰子的附加滚动值。我有+运算符:

让rollpts=dice1+dice2; document.getElementByIdpoints.innerHTML=第一个滚动点:++rollpts

例如,dice1掷3,dice2掷6,我希望javascript计算3+6,并将最初的第一个掷点数显示为9,然后将计算出的值附加到我想要的位置。我可以看到每个骰子在控制台中滚动

代码笔:


数组中的数字是字符串,您需要将它们解析为数字。您可以通过使用parseInt来完成

更改此行:让rollpts=parseIntdice1+parseIntdice2

或者可以将数组中的值更改为数字而不是字符串:

let diceArr1 = [1, 2, 3, 4, 5, 6];

let diceArr2 = [1, 2, 3, 4, 5, 6];
不同之处在于,当您对字符串使用+运算符时,它会连接两个字符串:

log'strings:'+'6'+'3';
控制台.日志'编号:'+6+3 数组中的数字是字符串,您需要将它们解析为数字。您可以通过使用parseInt来完成

更改此行:让rollpts=parseIntdice1+parseIntdice2

或者可以将数组中的值更改为数字而不是字符串:

let diceArr1 = [1, 2, 3, 4, 5, 6];

let diceArr2 = [1, 2, 3, 4, 5, 6];
不同之处在于,当您对字符串使用+运算符时,它会连接两个字符串:

log'strings:'+'6'+'3';
控制台.日志'编号:'+6+3 原因是您正在添加两个字符串编号:3+6,因此结果为NaN

不要从数组中获取数字,而是直接从随机数中获取,这将解决问题

let dice1 = diceRandom1 + 1; 
let dice2 = diceRandom2 + 1; 

原因是您正在添加两个字符串编号:3+6,因此结果为NaN

不要从数组中获取数字,而是直接从随机数中获取,这将解决问题

let dice1 = diceRandom1 + 1; 
let dice2 = diceRandom2 + 1; 
数组具有字符串值。这就是它返回错误输出的原因。所以解决办法是

将数组值转换为整数

let diceArr1 = [1, 2, 3, 4, 5, 6];

let diceArr2 = [1, 2, 3, 4, 5, 6];

在添加两个参数时使用parseInt

let rollpts = (parseInt(dice1) + parseInt(dice2));
您可以在这里找到解决方案:

您的数组具有字符串值。这就是它返回错误输出的原因。所以解决办法是

将数组值转换为整数

let diceArr1 = [1, 2, 3, 4, 5, 6];

let diceArr2 = [1, 2, 3, 4, 5, 6];

在添加两个参数时使用parseInt

let rollpts = (parseInt(dice1) + parseInt(dice2));

您可以在这里找到解决方案:

您正在连接字符串,而不是添加整数。一种解决方案是将整数类型转换为具有parseInt的字符串,如下所示:让rollpts=parseIntdice1,10+parseIntdice2,10;或者简单地在数组中使用整数


但是,更好的解决方案可能是生成介于1和6之间的随机整数,如下所示:Math.floorMath.random*6+1,并完全放弃数组。

您是串联字符串,而不是添加整数。一种解决方案是将整数类型转换为具有parseInt的字符串,如下所示:让rollpts=parseIntdice1,10+parseIntdice2,10;或者简单地在数组中使用整数


但是,更好的解决方案可能是生成1到6之间的随机整数,如下所示:Math.floorMath.random*6+1并完全放弃数组。

要获得rollpts,您需要添加diceRandom1+diceRandom2+2,因为Dice1/2是字符串而不是数字。此外,还有一个tripple+,只有一个应该是。要获得rollpts,您需要添加diceRandom1+diceRandom2+2,因为Dice1/2是字符串而不是数字。还有一个tripple+是唯一应该的。谢谢你,我已经更新了,但现在它只是“除了3+3=6之外,再加上3+3=6这两个数字,6就是我要找的”。@Rashon怎么可能,你看到你的控制台还是结果了吗?请检查我的代码笔不确定为什么它在你刚刚发布的链接上不起作用,但如果我不点击你的链接,我可以看到它。谢谢你,我已经更新了它,但现在它只是“除了3+3=6,6之外再加上3+3=6,6这两个数字是我正在寻找的”。@Rashon怎么可能,你看到你的控制台或结果了吗?请检查我的代码笔不确定为什么它在你刚刚发布的链接上不起作用,但是如果我没有点击你的链接,我可以看到它;我们将数组改为整数而不是字符串,但现在只是将它们像3 3那样并排放置,而不是执行加法运算符。这会给我6.这是在代码笔中更新的吗?是的,代码笔是用整数更新的谢谢!我从数组中删除了单引号,这就成功了!请使用parseInt。考虑使用或代替。是的,我;我们将数组改为整数而不是字符串,但现在只是将它们像3 3那样并排放置,而不是执行加法运算符。这会给我6.这是在代码笔中更新的吗?是的,代码笔是用整数更新的谢谢!我移除了si
从数组中引用ngle引号,这就成功了!请使用parseInt。考虑使用或代替。谢谢,我已经知道了关于Na的部分。为了使数字解析成int,在数字之前加上“+”。例如,+3++3=6Thanks,我已经了解了NaN的这一部分。要使数字解析为int,请在数字之前添加“+”。例如,+3++3=6获得了数组中的整数,但现在它只是并排显示而不是添加它们。3当它应该显示时6.得到了数组中的整数,但现在它只是并排显示而不是添加它们。3应在何时显示6。