我正在为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
这可能与我使用的方法有关,还是有更好的方法?
答案 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]);
}