I've been working on a "BlackJack" command which is a minigame. Now, I'm pretty sure simply adding the different math generators for each embed would work, and if the addition equation equals over 21, it tells you you've lost! I could do all that myself if I knew how to assign each string within the "cards" array a different value.
For example... Ace of Spades = 11
then I'd be able to use maths... randomCard1 + randomCard 2 sorta thing
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!');
});
});
}
}