Added shuffling after 75% of cards played
This commit is contained in:
25
BlackJack.py
25
BlackJack.py
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user