【发布时间】:2020-11-08 04:41:55
【问题描述】:
我目前正在开发一个带有简单迷你游戏的不和谐机器人。您编写“gamestart”,机器人会向您发送 4 个可能回复中的 1 个。但我的机器人没有发送任何东西。可能是什么问题?
bot.on('message', msg) => {
if(msg.content === "gamestart"){
var random = Math.random() * (4 - 1) + 1;
Math.round(random);
if(random === 1){
message.channel.send('doggos, axes, chalice');
}
else
if(random === 2){
message.channel.send('sun, axes, doggos');
}
else
if(random === 3){
message.channel.send('axes, sun, chalice');
}
else
if(random === 4){
message.channel.send('chalice, doggos, sun');
}
}
})
【问题讨论】:
-
Math.round(random);这会返回一个新值,并且不会改变旧值。另请注意,当您尝试区分四个值时,您的随机数分布为三。random === 4永远不会发生。 -
或许可以试试
random = Math.round(random); -
@ASDFGerte 我将最大值设置为 5,所以我应该工作。非常感谢您的帮助
-
像往常一样,MDN 很适合作为开始阅读。我错过了,您使用的是
round而不是floor。这意味着我之前评论的第二部分略有错误。但是,它只是将一个问题换成另一个问题:在达到所有值时,您的分布将不再是统一的。
标签: javascript discord discord.js