Added shuffling after 75% of cards played

This commit is contained in:
2023-01-05 17:00:42 +10:00
parent 8778862986
commit fdb704af08
3 changed files with 15 additions and 10 deletions

View File

@@ -58,6 +58,12 @@ def getHandTotal(hand):
i += card i += card
return i return i
def showDeck(deck):
string = ""
for card in deck:
string += convertNumberToCard(card)
return string
class BlackJack: class BlackJack:
def __init__(self): def __init__(self):
self.playerTurn = True self.playerTurn = True
@@ -78,7 +84,7 @@ class BlackJack:
self.discard.extend(self.playerHand) self.discard.extend(self.playerHand)
self.playerHand.clear() self.playerHand.clear()
self.discard.extend(self.dealerHand) self.discard.extend(self.dealerHand)
self.playerHand.clear() self.dealerHand.clear()
def deal(self): def deal(self):
generateHand(self.playerHand, self.deck) generateHand(self.playerHand, self.deck)
@@ -136,9 +142,9 @@ class BlackJack:
if playerStats is None: if playerStats is None:
self.ledger.writeLedger(ID) self.ledger.writeLedger(ID)
playerStats = self.ledger.readLedger playerStats = self.ledger.readLedger
self.deal()
while not gameOver: while not gameOver:
self.deal()
playerWinState = self.checkHandState(self.playerHand) playerWinState = self.checkHandState(self.playerHand)
dealerWinState = self.checkHandState(self.dealerHand) dealerWinState = self.checkHandState(self.dealerHand)
gameOver = self.checkGameOver(playerWinState) or self.checkGameOver(dealerWinState) gameOver = self.checkGameOver(playerWinState) or self.checkGameOver(dealerWinState)
@@ -176,28 +182,27 @@ class BlackJack:
if self.checkGameOver(dealerWinState): if self.checkGameOver(dealerWinState):
continue continue
await send("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards(self.playerHand) + await send("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards(self.playerHand) +
"\n" + "Dealers hand = " + str(getHandTotal(self.dealerHand)) + ": " + handNumbersToCards(self.dealerHand)) "\n" + "Dealers hand = " + str(getHandTotal(self.dealerHand)) + ": " + handNumbersToCards(self.dealerHand))
if playerWinState == "w": if playerWinState == "w":
await send("You won!") await send("You won!")
win = (2*bet, 1, 0, ID) win = (2*bet, 1, 0, ID)
self.ledger.updateLedger(playerStats, win) # self.ledger.updateLedger(playerStats, win)
elif playerWinState == "l": elif playerWinState == "l":
await send("You busted!") await send("You busted!")
loss = (-bet, 0, 1, ID) loss = (-bet, 0, 1, ID)
self.ledger.updateLedger(playerStats, loss) # self.ledger.updateLedger(playerStats, loss)
elif dealerWinState == "w": elif dealerWinState == "w":
await send("The Dealer reached 21 before you!") await send("The Dealer reached 21 before you!")
loss = (-bet, 0, 1, ID) loss = (-bet, 0, 1, ID)
self.ledger.updateLedger(playerStats, loss) # self.ledger.updateLedger(playerStats, loss)
elif dealerWinState == "l": elif dealerWinState == "l":
await send("The Dealer busted before you!") await send("The Dealer busted before you!")
win = (2*bet, 1, 0, ID) win = (2*bet, 1, 0, ID)
self.ledger.updateLedger(playerStats, win) # self.ledger.updateLedger(playerStats, win)
self.returnCards()
if len(self.deck) < 0.25 * 52: if len(self.deck) < 0.25 * 52:
await send("Shuffling Deck") await send("Shuffling Deck")
self.returnCards()
self.shuffle() self.shuffle()

View File