daisy-blackjack
Version:
Blackjack Game for Daisy
738 lines (600 loc) • 79.3 kB
JavaScript
class Collect {
async buttonCollect(message, userId, yourcard, dealercard, DECK, options) {
let filter = async i => {
await i.deferUpdate()
return ["discord-blackjack-hitbtn", "discord-blackjack-splitbtn", "discord-blackjack-standbtn", "discord-blackjack-ddownbtn", "discord-blackjack-cancelbtn", "discord-blackjack-insbtn", "discord-blackjack-noinsbtn"].includes(i.customId) && i.user.id === userId
}
let result = await message.awaitMessageComponent({ filter, time: 30000 })
.then(async i => {
switch (i.customId) {
case "discord-blackjack-hitbtn": {
return this.hit(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-splitbtn": {
return this.split(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-standbtn": {
return this.stand(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-ddownbtn": {
return this.doubledown(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-cancelbtn": {
return this.cancel(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-insbtn": {
return this.insurance(message, userId, yourcard, dealercard, DECK, options)
}
case "discord-blackjack-noinsbtn": {
return this.noinsurance(message, userId, yourcard, dealercard, DECK, options)
}
}
})
.catch((e) => {
if (options.transition === "edit") {
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard,
message: message
}
} else if (options.transition === "delete") {
message.delete()
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard
}
}
})
return result
}
async messageCollect(message, userId, yourcard, dealercard, DECK, options, filter1) {
if (!filter1) filter1 = ["h", "hit", "s", "stand", "cancel"]
let filter = i => filter1.includes(i.content.toLowerCase()) && i.author.id === userId
let result = await message.channel.awaitMessages({ filter, max: 1, time: 30000, errors: ['time'] })
.then(async msg => {
msg = msg.first()
if (!msg) {
if (options.transition === "edit") {
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard,
message: message
}
} else if (options.transition === "delete") {
message.delete()
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard
}
}
}
if (msg.content.toLowerCase().startsWith("h")) {
return this.hit(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase() === "split" && filter1.includes("split")) {
return this.split(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase().startsWith("d") && filter1.includes("d")) {
return this.doubledown(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase().startsWith("s")) {
return this.stand(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase() === "cancel") {
return this.cancel(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase() === "i") {
return this.insurance(message, userId, yourcard, dealercard, DECK, options)
} else if (msg.content.toLowerCase() === "ni") {
return this.noinsurance(message, userId, yourcard, dealercard, DECK, options)
}
}).catch(e => {
if (options.transition === "edit") {
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard,
message: message
}
} else if (options.transition === "delete") {
message.delete()
return {
result: "TIMEOUT",
method: "None",
ycard: yourcard,
dcard: dealercard
}
}
})
return result
}
async hit(message, userId, yourcard, dealercard, DECK, options) {
let gotCard = DECK.pop()
let embed = options.embed
let isSoft = false
if (gotCard.rank === "A") {
if (yourcard.map(c => c.rank).includes("A")) {
gotCard.value = 1
} else {
gotCard.value = 11
}
}
yourcard.push(gotCard)
if (yourcard.map(c => c.rank).includes("A") && yourcard.find(c => c.rank === "A" && c.value === 11)) {
isSoft = true
}
if (yourcard.map(c => c.value).reduce((a, b) => b + a) > 21 && isSoft == true) {
isSoft = false
for (let y = 0; y < yourcard.length; y++) {
if (yourcard[y].rank === "A") {
yourcard[y].value = 1
}
}
}
if (yourcard.map(c => c.value).reduce((a, b) => b + a) >= 21) {
return this.stand(message, userId, yourcard, dealercard, DECK, options)
}
embed.fields[0].value = `Kartlar: ${yourcard.map(c => `[\`${c.emoji} ${c.rank}\`](https://daisybot.tech)`).join(" ")}\nToplam: ${yourcard.map(c => c.value).reduce((a, b) => b + a)}${isSoft ? "*" : ""}`
options.embed = embed;
let components = message?.components || []
while (components.length == 2 && components[0].components.length > 2) {
components[0].components.pop()
}
if (options.isSplit === "first" && options.secondHand) {
embed.description = "Bu ilk el."
let pv = yourcard.map(c => c.value).reduce((a, b) => b + a)
if ((pv === 9 || pv === 10 || pv === 11) && yourcard.length == 2) {
let embed = options.embed
let hitbtn = { label: "Kart Çek", style: 1, custom_id: "discord-blackjack-hitbtn", type: 2 }
let standbtn = { label: "Kart Alma", style: 1, custom_id: "discord-blackjack-standbtn", type: 2 }
let ddownbtn = { label: "İkiye Katla", style: 1, custom_id: "discord-blackjack-ddownbtn", type: 2 }
let splitbtn = { label: "Kartları Böl", style: 1, custom_id: "discord-blackjack-splitbtn", type: 2 }
let cancelbtn = { label: "İptal Et", style: 4, custom_id: "discord-blackjack-cancelbtn", type: 2 }
let row1 = { type: 1, components: [hitbtn, standbtn, ddownbtn] }
let row2 = { type: 1, components: [cancelbtn] }
let components = [row1, row2]
if (options.transition === "edit") {
if (options.commandType === "message") {
message = await message.edit({ embeds: [embed], components })
} else {
message = await message.edit({ embeds: [embed], components })
}
} else {
if (options.commandType === "message") {
await message.delete()
message = await message.channel.send({ embeds: [embed], components })
} else {
if (!message.ephemeral) {
await message.delete()
}
message = await message.channel.send({ embeds: [embed], components })
}
}
return options.buttons ? this.buttonCollect(message, userId, yourcard, dealercard, DECK, options) : this.messageCollect(message, userId, yourcard, dealercard, DECK, options)
}
} else if (options.secondHand) {
embed.description = "Bu ikinci el."
let pv2 = yourcard.map(c => c.value).reduce((a, b) => b + a)
if ((pv2 === 9 || pv2 === 10 || pv2 === 11) && yourcard.length == 2) {
let embed = options.embed
let hitbtn = { label: "Kart Çek", style: 1, custom_id: "discord-blackjack-hitbtn", type: 2 }
let standbtn = { label: "Kart Alma", style: 1, custom_id: "discord-blackjack-standbtn", type: 2 }
let ddownbtn = { label: "İkiye Katla", style: 1, custom_id: "discord-blackjack-ddownbtn", type: 2 }
let splitbtn = { label: "Kartları Böl", style: 1, custom_id: "discord-blackjack-splitbtn", type: 2 }
let cancelbtn = { label: "İptal Et", style: 4, custom_id: "discord-blackjack-cancelbtn", type: 2 }
let row1 = { type: 1, components: [hitbtn, standbtn, ddownbtn] }
let row2 = { type: 1, components: [cancelbtn] }
let components = [row1, row2]
if (options.transition === "edit") {
if (options.commandType === "message") {
message = await message.edit({ embeds: [embed], components })
} else {
message = await message.edit({ embeds: [embed], components })
}
} else {
if (options.commandType === "message") {
await message.delete()
message = await message.channel.send({ embeds: [embed], components })
} else {
if (!message.ephemeral) {
await message.delete()
}
message = await message.channel.send({ embeds: [embed], components })
}
}
return options.buttons ? this.buttonCollect(message, userId, yourcard, dealercard, DECK, options) : this.messageCollect(message, userId, yourcard, dealercard, DECK, options)
}
}
else {
embed.description = embed.description
}
if (options.transition === "edit") {
if (options.commandType === "message") {
message = await message.edit({ embeds: [embed], components })
} else {
message = await message.edit({ embeds: [embed], components })
}
} else {
if (options.commandType === "message") {
await message.delete()
message = await message.channel.send({ embeds: [embed], components })
} else {
if (!message.ephemeral) {
await message.delete()
}
message = await message.channel.send({ embeds: [embed], components })
}
}
return options.buttons ? this.buttonCollect(message, userId, yourcard, dealercard, DECK, options) : this.messageCollect(message, userId, yourcard, dealercard, DECK, options)
}
async stand(message, userId, yourcard, dealercard, DECK, options) {
let yourvalue = yourcard.map(c => c.value).reduce((a, b) => b + a)
let dealervalue = dealercard.map(d => d.value).reduce((a, b) => b + a)
let finalResult = {}
let finalResult2 = {}
if (options.isSplit === "first") {
options.isSplit = "second";
let dealerrank = [dealercard[0].rank, dealercard[1].rank]
while (dealervalue < 17) {
let newCard = DECK.pop()
dealercard.push(newCard)
dealerrank.push(newCard.rank)
if (newCard.rank == "A") {
if (dealerrank.includes("A")) {
newCard.value = 1
} else {
newCard.value = 11
}
}
dealervalue += newCard.value
if (dealervalue > 21 && dealerrank.includes("A")) {
let unu = 0
dealercard.forEach(e => {
if (e.rank == "A") {
dealercard[unu].value = 1
dealervalue = dealercard.map(d => d.value).reduce((a, b) => b + a)
}
unu++
})
}
}
finalResult2 = await this.hit(message, userId, options.secondHand, dealercard, DECK, options)
let yourvalue2 = finalResult2.ycard.map(c => c.value).reduce((a, b) => b + a)
let yourcard2 = finalResult2.ycard
let bj1 = false
let bj2 = false
let dbj1 = false
let dbj2 = false
if ((yourvalue === 21 && yourcard.length === 2) && ((dealervalue === 21 && dealercard.length != 2) || (dealervalue != 21))) {
bj1 = true;
}
if ((yourvalue2 === 21 && yourcard2.length === 2) && ((dealervalue === 21 && dealercard.length != 2) || (dealervalue != 21))) {
bj2 = true;
}
if ((dealervalue === 21 && dealercard.length === 2) && ((yourvalue === 21 && yourcard.length != 2) || (yourvalue != 21))) {
dbj1 = true;
}
if ((dealervalue === 21 && dealercard.length === 2) && ((yourvalue2 === 21 && yourcard2.length != 2) || (yourvalue2 != 21))) {
dbj2 = true;
}
if (options.isDoubleDown !== true) {
if (yourvalue > 21 && yourvalue2 > 21) {
finalResult = { result: "SPLIT LOSE-LOSE", method: `1st Hand: You lost (busted).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && bj2 == true) {
finalResult = { result: "SPLIT LOSE-BLACKJACK", method: `1st Hand: You lost (busted).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, ycard2: finalResult2.ycard, dcard: dealercard }
}
else if (bj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT BLACKJACK-LOSE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && bj2 == true) {
finalResult = { result: `SPLIT BLACKJACK-BLACKJACK`, method: `1st Hand: You won with blackjack.\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT LOSE-WIN`, method: `1st Hand: You lost (busted).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && yourvalue2 > 21) {
finalResult = { result: `SPLIT WIN-LOSE`, method: `1st Hand: You won with more points.\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT WIN-WIN`, method: `1st Hand: You won with more points.\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT WIN-WIN`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT BLACKJACK-WIN`, method: `1st Hand: You won with blackjack.\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && bj2 == true) {
finalResult = { result: `SPLIT WIN-BLACKJACK`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj1 == false)) {
finalResult = { result: `SPLIT LOSE-WIN`, method: `1st Hand: You lost (busted).\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && yourvalue2 > 21) {
finalResult = { result: `SPLIT WIN-LOSE`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && dbj2 == true) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && dbj2 == true) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (busted).\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT WIN-LOSE`, method: `1st Hand: You won with more points.\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT LOSE-WIN`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT BLACKJACK-LOSE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && bj2 == true) {
finalResult = { result: `SPLIT LOSE-BLACKJACK`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (busted).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && yourvalue2 > 21) {
finalResult = { result: `SPLIT LOSE-LOSE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-TIE`, method: `1st Hand: You lost (busted).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && yourvalue2 > 21) {
finalResult = { result: `SPLIT TIE-LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT BLACKJACK-TIE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && bj2 == true) {
finalResult = { result: `SPLIT TIE-BLACKJACK`, method: `1st Hand: You tied.\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT WIN-TIE`, method: `1st Hand: You won with more points.\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT TIE-WIN`, method: `1st Hand: You tied.\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-TIE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && dbj2 == true) {
finalResult = { result: `SPLIT TIE-LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-TIE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT TIE-LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT TIE-TIE`, method: `1st Hand: You tied.\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && bj2 == true) {
finalResult = { result: `SPLIT WIN-WIN`, method: `1st Hand: You won with more points.\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT WIN-WIN`, method: `1st Hand: You won with blackjack.\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
} else if (options.isDoubleDown == true && options.isFirstSplitDouble == true && options.isSecondSplitDouble != true) {
if (yourvalue > 21 && yourvalue2 > 21) {
finalResult = { result: "SPLIT DOUBLE LOSE-LOSE", method: `1st Hand: You lost (busted) (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && bj2 == true) {
finalResult = { result: "SPLIT DOUBLE LOSE-BLACKJACK", method: `1st Hand: You lost (busted) (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, ycard2: finalResult2.ycard, dcard: dealercard }
}
else if (bj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE BLACKJACK-LOSE`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && bj2 == true) {
finalResult = { result: `SPLIT DOUBLE BLACKJACK-BLACKJACK`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT DOUBLE LOSE-WIN`, method: `1st Hand: You lost (busted) (double).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE WIN-LOSE`, method: `1st Hand: You won with more points (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT DOUBLE WIN-WIN`, method: `1st Hand: You won with more points (double).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT DOUBLE WIN-WIN`, method: `1st Hand: You won (dealer busted) (double).\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT DOUBLE LACKJACK-WIN`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && bj2 == true) {
finalResult = { result: `SPLIT DOUBLE WIN-BLACKJACK`, method: `1st Hand: You won (dealer busted) (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj1 == false)) {
finalResult = { result: `SPLIT DOUBLE LOSE-WIN`, method: `1st Hand: You lost (busted) (double).\n2nd Hand: You won (dealer busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE WIN-LOSE`, method: `1st Hand: You won (dealer busted) (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && dbj2 == true) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (dealer had blackjack) (double).\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && dbj2 == true) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (busted) (double).\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (dealer had blackjack) (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (dealer had more points) (double).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT DOUBLE WIN-LOSE`, method: `1st Hand: You won with more points (double).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT DOUBLE LOSE-WIN`, method: `1st Hand: You lost (dealer had more points) (double).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT DOUBLE BLACKJACK-LOSE`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && bj2 == true) {
finalResult = { result: `SPLIT DOUBLE LOSE-BLACKJACK`, method: `1st Hand: You lost (dealer had more points) (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (busted) (double).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE LOSE-LOSE`, method: `1st Hand: You lost (dealer had more points) (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE LOSE-TIE`, method: `1st Hand: You lost (busted) (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && yourvalue2 > 21) {
finalResult = { result: `SPLIT DOUBLE TIE-LOSE`, method: `1st Hand: You tied (double).\n2nd Hand: You lost (busted).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE BLACKJACK-TIE`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && bj2 == true) {
finalResult = { result: `SPLIT DOUBLE TIE-BLACKJACK`, method: `1st Hand: You tied (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE WIN-TIE`, method: `1st Hand: You won with more points (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT DOUBLE TIE-WIN`, method: `1st Hand: You tied (double).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE LOSE-TIE`, method: `1st Hand: You lost (dealer had blackjack) (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && dbj2 == true) {
finalResult = { result: `SPLIT DOUBLE TIE-LOSE`, method: `1st Hand: You tied (double).\n2nd Hand: You lost (dealer had blackjack).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE LOSE-TIE`, method: `1st Hand: You lost (dealer had more points) (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT DOUBLE TIE-LOSE`, method: `1st Hand: You tied (double).\n2nd Hand: You lost (dealer had more points).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT DOUBLE TIE-TIE`, method: `1st Hand: You tied (double).\n2nd Hand: You tied.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && bj2 == true) {
finalResult = { result: `SPLIT DOUBLE WIN-WIN`, method: `1st Hand: You won with more points (double).\n2nd Hand: You won with blackjack.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT DOUBLE WIN-WIN`, method: `1st Hand: You won with blackjack (double).\n2nd Hand: You won with more points.`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
}
else if (options.isDoubleDown == true && options.isFirstSplitDouble != true && options.isSecondSplitDouble == true) {
if (yourvalue > 21 && yourvalue2 > 21) {
finalResult = { result: "SPLIT LOSE-DOUBLE LOSE", method: `1st Hand: You lost (busted).\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && bj2 == true) {
finalResult = { result: "SPLIT LOSE-DOUBLE BLACKJACK", method: `1st Hand: You lost (busted).\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, ycard2: finalResult2.ycard, dcard: dealercard }
}
else if (bj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT BLACKJACK-DOUBLE LOSE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && bj2 == true) {
finalResult = { result: `SPLIT BLACKJACK-DOUBLE BLACKJACK`, method: `1st Hand: You won with blackjack.\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT LOSE-DOUBLE WIN`, method: `1st Hand: You lost (busted).\n2nd Hand: You won with more points (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && yourvalue2 > 21) {
finalResult = { result: `SPLIT WIN-DOUBLE LOSE`, method: `1st Hand: You won with more points.\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT WIN-DOUBLE WIN`, method: `1st Hand: You won with more points.\n2nd Hand: You won with more points (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT WIN-DOUBLE WIN`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You won (dealer busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj2 == false)) {
finalResult = { result: `SPLIT BLACKJACK-DOUBLE WIN`, method: `1st Hand: You won with blackjack.\n2nd Hand: You won (dealer busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && bj2 == true) {
finalResult = { result: `SPLIT WIN-DOUBLE BLACKJACK`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue > 21 && yourvalue2 <= 21 && bj1 == false)) {
finalResult = { result: `SPLIT LOSE-DOUBLE WIN`, method: `1st Hand: You lost (busted).\n2nd Hand: You won (dealer busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue > 21 && yourvalue <= 21 && bj1 == false) && yourvalue2 > 21) {
finalResult = { result: `SPLIT WIN-DOUBLE LOSE`, method: `1st Hand: You won (dealer busted).\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && dbj2 == true) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You lost (dealer had blackjack) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && dbj2 == true) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (busted).\n2nd Hand: You lost (dealer had blackjack) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && yourvalue2 > 21) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You lost (dealer had more points) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT WIN-DOUBLE LOSE`, method: `1st Hand: You won with more points.\n2nd Hand: You lost (dealer had more points) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT LOSE-DOUBLE WIN`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You won with more points (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT BLACKJACK-DOUBLE LOSE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You lost (dealer had more points) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && bj2 == true) {
finalResult = { result: `SPLIT LOSE-DOUBLE BLACKJACK`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (busted).\n2nd Hand: You lost (dealer had more points) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && yourvalue2 > 21) {
finalResult = { result: `SPLIT LOSE-DOUBLE LOSE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (yourvalue > 21 && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-DOUBLE TIE`, method: `1st Hand: You lost (busted).\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && yourvalue2 > 21) {
finalResult = { result: `SPLIT TIE-DOUBLE LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (busted) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT BLACKJACK-DOUBLE TIE`, method: `1st Hand: You won with blackjack.\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && bj2 == true) {
finalResult = { result: `SPLIT TIE-DOUBLE BLACKJACK`, method: `1st Hand: You tied.\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT WIN-DOUBLE TIE`, method: `1st Hand: You won with more points.\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (yourvalue2 <= 21 && bj2 == false && (dealervalue < yourvalue2))) {
finalResult = { result: `SPLIT TIE-DOUBLE WIN`, method: `1st Hand: You tied.\n2nd Hand: You won with more points (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (dbj1 == true && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-DOUBLE TIE`, method: `1st Hand: You lost (dealer had blackjack).\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && dbj2 == true) {
finalResult = { result: `SPLIT TIE-DOUBLE LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (dealer had blackjack) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue > yourvalue && dealervalue <= 21) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT LOSE-DOUBLE TIE`, method: `1st Hand: You lost (dealer had more points).\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue > yourvalue2 && dealervalue <= 21)) {
finalResult = { result: `SPLIT TIE-DOUBLE LOSE`, method: `1st Hand: You tied.\n2nd Hand: You lost (dealer had more points) (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((dealervalue === yourvalue) && (dealervalue === yourvalue2)) {
finalResult = { result: `SPLIT TIE-DOUBLE TIE`, method: `1st Hand: You tied.\n2nd Hand: You tied (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if ((yourvalue <= 21 && bj1 == false && (dealervalue < yourvalue)) && bj2 == true) {
finalResult = { result: `SPLIT WIN-DOUBLE WIN`, method: `1st Hand: You won with more points.\n2nd Hand: You won with blackjack (double).`, ycard: yourcard, ycard2: yourcard2, dcard: dealercard }
}
else if (bj1 == true && (y