[英]How do I check if a permission is set to neutral (“/”) with discord.js?
[英]Discord.js - How do I set a value to an array string?
我一直在做一个迷你游戏“ BlackJack”命令。 现在,我敢肯定,只需为每个嵌入添加不同的数学生成器即可,如果加法方程等于21,则表明您已经迷路了! 如果我知道如何为“ cards”数组中的每个字符串分配不同的值,我可以自己做所有事情。
例如...黑桃A = 11
然后我就可以使用数学了... randomCard1 + randomCard 2 sorta东西
const { CommandoClient, SQLiteProvider, Command } = require('discord.js-commando');
const { RichEmbed } = require('discord.js');
const client = new CommandoClient({
commandPrefix: 'w!',
unknownCommandResponse: false,
owner: ['254323224089853953', '121222156121014272'],
disableEveryone: true
});
module.exports = class BlackJackCommand extends Command {
constructor(client) {
super(client, {
name: 'blackjack',
group: 'ping',
memberName: 'blackjack',
description: 'Use w!blackjack [bet] to bet on blackjack! Use w!blackjackhelp to find out more!',
examples: ['w!blackjack 20'],
args: [
{
key: 'ping',
prompt: 'How much ping do you want to bet?',
type: 'integer'
}
]
});
}
async run(message, args) {
var responses = Array('Stand','Hit','Double Down')
var cards = Array('Ace of Clubs','2 of Clubs','3 of Clubs','4 of Clubs','5 of Clubs','6 of Clubs','7 of Clubs','8 of Clubs','9 of Clubs','10 of Clubs','Jack of Clubs','Queen of Clubs','King of Clubs','Ace of Diamonds','2 of Diamonds','3 of Diamonds','4 of Diamonds','5 of Diamonds','6 of Diamonds','7 of Diamonds','8 of Diamonds','9 of Diamonds','10 of Diamonds','Jack of Diamonds','Queen of Diamonds','King of Diamonds','Ace of Hearts','2 of Hearts','3 of Hearts','4 of Hearts','5 of Hearts','6 of Hearts','7 of Hearts','8 of Hearts','9 of Hearts','10 of Hearts','Jack of Hearts','Queen of Hearts','King of Hearts','Ace of Spades','2 of Spades','3 of Spades','4 of Spades','5 of Spades','6 of Spades','7 of Spades','8 of Spades','9 of Spades','10 of Spades','Jack of Spades','Queen of Spades','King of Spades');
var joker = ('<:joker:415835828770570240>')
const randomCard1 = cards[Math.floor(Math.random()*cards.length)];
const randomCard2 = cards[Math.floor(Math.random()*cards.length)];
const randomDealer = responses[Math.floor(Math.random()*responses.length)];
const initial = new RichEmbed()
.setTitle(`**${joker} Blackjack! ${joker}**`)
.setAuthor(message.author.tag, message.author.displayAvatarURL)
.setThumbnail('https://pbs.twimg.com/profile_images/1874281601/BlackjackIcon.png')
.addField('**Initial Deal:**', `Your Cards:\n- ${randomCard1}\n- ${randomCard2}`)
.setColor(0xAE0086)
const dealer1 = new RichEmbed()
.setTitle(`**${joker} Blackjack! ${joker}**`)
.setAuthor(message.author.tag, message.author.displayAvatarURL)
.setThumbnail('https://pbs.twimg.com/profile_images/1874281601/BlackjackIcon.png')
.addField('**Initial Deal:**', `Your Cards:\n- ${randomCard1}\n- ${randomCard2}`)
.addField('**Dealer\'s Turn 1:**', `Choice: ${randomDealer}`)
.setColor(0xAE0086)
message.embed(initial);
const filter = message => message.content.includes('stand');
message.reply('Your turn to choose: ``stand`` ``hit`` ``surrender`` ``double down`` ``cancel``')
.then(function(){
message.channel.awaitMessages(response => filter, {
max: 1,
time: 300000000,
errors: ['time'],
})
.then((collected) => {
message.embed(dealer1);
})
.catch(function(){
message.channel.send('You didnt respond in time!');
});
});
}
}
您至少可以采用两种方法。 我要注意的第一件事是,您将一张ace等于11,但是规则允许1或11。
因为此数组的内容遵循一种模式,所以我们可以使用数学方法查看数组中的位置并确定卡的值。 如果index
拥有数组偏移量,则可以对其执行以下操作:
可能看起来像:
value = Math.min((index % 13) + 1, 10)
它涵盖了处理Ace的两个可能值的最后一步以外的所有步骤。
您可以将定义卡片的方式更改为:
var cards = [
{value: 1, name: 'Ace of Clubs'},
{value: 2, name: 'Two of Clubs'},
{value: 3, name: 'Three of Clubs'}
];
并以cards[index].name
访问卡的名称,并以cards[index].value
的形式访问值,其中index是数组内的偏移量。 请注意,该数组仅用方括号而不是Array(
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.