Javascript设置var里面的var

时间:2017-09-01 02:29:45

标签: javascript bots discord

我正在为Discord创建一个基本的掷骰子程序,我想知道如何在变量中设置变量。我可能会让事情变得复杂,但我仍然想知道这是否可行以及是否有更好的方法来做到这一点。这是我目前的代码:



    while (dice > 0) {
        var die = Math.floor(Math.random() * (7 - 1) + 1)
        console.log("roll: " + die + ", currently: " + dice)
        dice = dice - 1
        message.channel.sendMessage(die)
    }




所以目前这项工作做得很好'我希望使用dice变量存储roll变量(您定义要投掷多少骰子的部分)。我猜它会是这样的 var roll = r.dice

基本上,我要做的就是将roll保存为不同的变量,以便在一条消息中发送它们。所以代码将它们保存为r.10到r.1,然后我可以将这些变量表示为一条消息 r.10 . . r.1

这可能与我使用的方法有关,还是有更好的方法?

3 个答案:

答案 0 :(得分:0)

您可以使用数组:

此示例将生成10个骰子卷,将它们添加到数组roll中,然后将该数组作为单个消息输出。

var roll = [];
var dice = 10;
while (dice --> 0) {
  var die = Math.floor(Math.random() * 6 + 1);
  roll.push(die);
}
var output = roll.map((x, i) => {
  return 'r.' + (roll.length - i) + ': ' + x;
}).join('\n');

console.log(output);
//message.channel.sendMessage(output)

答案 1 :(得分:0)

function doRolls(numRolls)
{ 
    var rolls = [];
    for (var i=0; i < numRolls; i++) {
      rolls.push(Math.floor(Math.random() * (7 - 1) + 1))
    }
    return rolls;
}

rolls = doRolls(10);

for (var i=0; i < rolls.length; i++) {
    console.log("roll: " + i + ", value: " + rolls[i])
    message.channel.sendMessage(rolls[i])
}

答案 2 :(得分:0)

var rolls = []
for (var n = 0; n < 10; n += 1) {
    var roll = Math.floor(Math.random() * 6) + 1;
    rolls.push(roll);
}

console.log(rolls);

for (var n = 0; n < 10; n += 1) {
    console.log("Roll number", n, "->", rolls[n]);
}