为了账号安全,请及时绑定邮箱和手机立即绑定

当骰子的结果是 20 和 1 时,如何让机器人说出不同的反应?

当骰子的结果是 20 和 1 时,如何让机器人说出不同的反应?

ITMISS 2022-12-18 16:12:59
例子:结果为 1 = 他回应:结果为 1,下次幸运!结果是20 = 他回答:结果是20,恭喜!现在的代码是:const Discord = require('discord.js');module.exports.run = async (client, message, args) => {    var response = [Math.floor(Math.random() * ((20 - 1) + 1) + 1)];   message.channel.send("The result is " + response + "!").then().catch(console.error);     if (response === 20) {   message.channel.send("The result is " + response + ", congratulations!").then().catch(console.error);   }   if (response === 1) {   message.channel.send("The result is " + response + ", luckier next time!").then().catch(console.error);}}我试过了,但他只是回答“(“结果是”+响应+“!”)”......
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

如前所述,您没有正确分配随机值。您还可以创建一个响应对象,从而不再需要多个 if 语句。


const Discord = require('discord.js');


module.exports.run = async (client, message, args) => {

    var result = Math.floor(Math.random() * ((20 - 1) + 1) + 1);

    

    let response = {

       1:  ", luckier next time!",

       2:  ...

       .

       .

       .

       19: ...

       20: ", congratulations!"

    }


    message.channel.send("The result is " + result + response[result]).then().catch(console.error);  


   }

}


查看完整回答
反对 回复 2022-12-18
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

看起来你已经将你的 var 设置response为一个数组,但是你正在使用===.

尝试删除语句周围的方括号:

var response = Math.floor(Math.random() * ((20 - 1) + 1) + 1);


查看完整回答
反对 回复 2022-12-18
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号