From 0d145f03a3bc238f4fab1fe5ae56a2efdb426c43 Mon Sep 17 00:00:00 2001 From: BigGamerGary Date: Tue, 22 Nov 2022 11:30:06 +1000 Subject: [PATCH] The play_game function takes functions as input --- BlackJackBot/BlackJack.py | 48 +++++++++++++++++++++------------------ BlackJackBot/ledger.txt | 4 ---- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/BlackJackBot/BlackJack.py b/BlackJackBot/BlackJack.py index 9b8a2df..500e066 100644 --- a/BlackJackBot/BlackJack.py +++ b/BlackJackBot/BlackJack.py @@ -71,7 +71,7 @@ def getHandTotal(hand): class BlackJack: - def __init__(self): + def __init__(self, recv, send): self.playerTurn = True self.deck = generateDeck() @@ -80,6 +80,9 @@ class BlackJack: self.dealerHand = [] generateHand(self.dealerHand, self.deck) + self.recv = recv + self.send = send + def getPH(self): return self.playerHand @@ -139,14 +142,14 @@ class BlackJack: validInput = False gameOver = False playerStood = False - ID = input("ID: (Unique)") - IDFound = self.findID(ID)[0] - if IDFound: - playerStats = self.readLedger(ID)[1:] - playerStats[0] = ID - else: - self.addToLedger(ID) - playerStats = (ID, 100, 0, 0) + # ID = self.recv("ID: (Unique)") + # IDFound = self.findID(ID)[0] + # if IDFound: + # playerStats = self.readLedger(ID)[1:] + # playerStats[0] = ID + # else: + # self.addToLedger(ID) + # playerStats = (ID, 100, 0, 0) while not gameOver: playerWinState = self.checkHandState(self.playerHand) @@ -158,9 +161,9 @@ class BlackJack: if gameOver: continue - print("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards( + self.send("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards( self.playerHand) + "\n" + "Dealers hand = ??: " + convertNumberToCard(self.dealerHand[0]) + "??") - play = input("Hit or Stand? (h/s)") + play = self.recv("Hit or Stand? (h/s)") while not validInput: if play == "h": self.hit() @@ -192,20 +195,20 @@ class BlackJack: if gameOver: continue - print("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards(self.playerHand) + + self.send("Players hand = " + str(getHandTotal(self.playerHand)) + ": " + handNumbersToCards(self.playerHand) + "\n" + "Dealers hand = " + str(getHandTotal(self.dealerHand)) + ": " + handNumbersToCards(self.dealerHand)) if playerWinState == "w": - print("You won!") - self.writeLedger(ID, 2*bet, True) + self.send("You won!") + # self.writeLedger(ID, 2*bet, True) elif playerWinState == "l": - print("You busted!") - self.writeLedger(ID, -bet, False) + self.send("You busted!") + # self.writeLedger(ID, -bet, False) elif dealerWinState == "w": - print("The Dealer reached 21 before you!") - self.writeLedger(ID, -bet, False) + self.send("The Dealer reached 21 before you!") + # self.writeLedger(ID, -bet, False) elif dealerWinState == "l": - print("The Dealer busted before you!") - self.writeLedger(ID, 2*bet, True) + self.send("The Dealer busted before you!") + # self.writeLedger(ID, 2*bet, True) def findID(self, ID): with open("ledger.txt", "r") as ledger: @@ -260,9 +263,10 @@ class BlackJack: with open("ledger.txt", "a") as ledger: ledger.write("{ID}:{Money}:0:0\n".format(ID=ID, Money=starterCash)) - def main(): - bj = BlackJack() + terminput = lambda message: input(message) + termoutput = lambda message: print(message) + bj = BlackJack(terminput, termoutput) bj.play_game(100) diff --git a/BlackJackBot/ledger.txt b/BlackJackBot/ledger.txt index 631502d..e69de29 100644 --- a/BlackJackBot/ledger.txt +++ b/BlackJackBot/ledger.txt @@ -1,4 +0,0 @@ -123672601259147265:100:0:0 -123672601259147265:100:0:0 -123672601259147265:100:0:0 -123672601259147265:100:0:0