From 210cb37575bf8df7e93b1b47613c7e5856d9d493 Mon Sep 17 00:00:00 2001 From: BigGamerGary Date: Wed, 19 Jul 2023 11:12:13 +1000 Subject: [PATCH] Added returning cards from hand at end of game --- BlackJack.py | 24 +++++++++++++++++++++++- __pycache__/BlackJack.cpython-310.pyc | Bin 7207 -> 7965 bytes 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/BlackJack.py b/BlackJack.py index 18734f2..1bc4a0c 100644 --- a/BlackJack.py +++ b/BlackJack.py @@ -93,6 +93,10 @@ class Deck(): def returnFromDiscard(self): self.returnToDeckTop(self.discard.pop()) + + def return_all_from_discard(self): + self.deck.extend(self.discard) + self.discard = [] def __str__(self) -> str: string = "" @@ -100,6 +104,9 @@ class Deck(): string += str(card) return string + def __len__(self): + return len(self.deck) + class Hand(): def __init__(self) -> None: self.hand = [] @@ -117,6 +124,9 @@ class Hand(): card = self.remove_from_hand(index) card.turn_card() self.add_to_hand(card) + + def __len__(self): + return len(self.hand) def __str__(self) -> str: string = "" @@ -158,6 +168,11 @@ class BlackJack: # Hide one of the dealers cards self.dealerHand.hide_card(1) + + def discard_hand(self, hand): + for _ in range(len(hand)): + card = hand.remove_from_hand(0) + self.deck.addToDiscard(card) async def show_cards(self, send, displayDealerScore=False): # Show Cards to player @@ -183,6 +198,7 @@ class BlackJack: if playerHit: self.deal_card(self.playerHand) else: + self.dealerHand.hide_card(1) gameState = DEALERTURN if int(repr(self.playerHand)) >= 21: @@ -192,7 +208,6 @@ class BlackJack: if gameState == DEALERTURN: - self.dealerHand.hide_card(1) self.deal_card(self.dealerHand) if int(repr(self.dealerHand)) >= 17: gameState = FINISHED @@ -201,6 +216,13 @@ class BlackJack: await self.show_cards(send, True) await send("You won or lost idk lmao") + self.discard_hand(self.playerHand) + self.discard_hand(self.dealerHand) + + if len(self.deck) < 0.25 * 51: + self.deck.return_all_from_discard() + self.deck.shuffle() + await send("Everyday I'm shuffling") gameState = OVER diff --git a/__pycache__/BlackJack.cpython-310.pyc b/__pycache__/BlackJack.cpython-310.pyc index 2f67a35e85678362173b1de00525bb9f2bc42389..09d0ea276256f771d8d6abcf76aebc4aeb9475a1 100644 GIT binary patch delta 1873 zcmZuxU2GIp6rMXXJDuH~nVp^O{**0JicnTa>tCRt)E2e{3>0k3-(uOWd$;Yf+pXN4 z@>5!YlqVD8&%p#WhE^YliHT`6F+LcdO-u|=Ci`xTi4Vq-_=cWyw-Ef9$^GuR=bU@) z`MKxb?ftmVnYHbZf?r$j*W7Mfb;b?1hRc$YV_eCpd;?FzRbyaFE05n)a$&BPtVxw8 zc=D#6vw4cQA=lyBsFG>_@<-!616)n-)zHEL9Q72!f^uG2W{BzvW6Bh+^D0+H6%j{a zMiaYm5_<@C!#yvxFDXj?oT%js)oOlH%+BO_xn3*?UO<()j^MBmn{UsSik0sFsKT(l z$V%{o{RI3Owc(CuZCs=Hd~$;=v4_X14Xs+LiCuK!j+T5L7x{bz71vY*v~NlK>w?eN zkl2R&Oa$)Rz3y=&MJK_N1Y-~}Qe8br?!zHtHWiDRwyEK-OGL`iEkpFcgV;vrJnB8l za1w4inLRdlFq0-{r6A@v!d=X7Xnhss9Rx;&Gn9+2$%{Jq3R_xyUT}aROo9 zK2)f2_#(Ig?x-eQi`eWmycOBT1bh|Q7d}mTFAyAnLLdea*J5+f?jAv{vb&pIh81@z z`6?;I2yzHmB8TX+uqoQfuEPH44k|L)kBJeI$U>@Ol<3o#(PXeu_?`BmLg9>`kb9<4E80HnVqN&3nG}@uM1gt#sKJc@(E% zB4!x3y-kU>y1q+u0{DmDql*NVoLirz1f_cHB-R ze8p!Ac-fa&RvEV!)djY!a<;-2HEaTHSzpko6E7ID3lHLkOhD|#saZjpAlZ~hNu)Qc zFK^B?DPQ}?+52!e)zODyn+%b7oo=c+ z$c>=!mWm>P=w+8&lT=hvDmUTV)TUH$7#p$dcg%{8Q6JOulAtH?*ErlyZMjBu#qP-T z&nE^imc$iaxYBXBYo?<5Sn2cBYJjLTq{`W4lBR*jYs8Z5(xSO*Wu`Ef@*~EK`uIs6bCR2{$&}V84Kt-s)XM zrl=y|lSK;R66{Uy?*AFdx`ALYlX*-mBH1wW`I$l)AN`CYUL;-WDDgUhAgB|}5nO=P gbjqdIplOu0i!Ssq3BRXzhM#esGLM>p5Yzwq8`VIQkN^Mx delta 1246 zcmYjQO>7%g5Z<@DUO%tb>-EptPMxGl(?XY`2EtFnf854x0#OKdT8Kltm^?R4-8jwj z3Q|a=M2(Q(P*g@p2oWjeg5ZWYa6#e>7nBPEb3hys7X+uCU}m?f>ec(+{Lgr1-tO~X zjN5Cel&RpaH1@3+FMMsEH*VcYX$4V)ca2I;Z6zyS~$p=A|tYBlN33T$J-Jr7E*v?P9u2<1OBTbm<(<@ zPZ)JdJpudqzC?FT22;(BXv1I5bF2HFpVv{+t_QTad_~M|wYBj;{nQ z>HF`&`}xOV&WZH}%BFIe-C%V^x|B=p>7CX_AQ#bk_}~YWavtHG6jgoP_etsd_chl$ zOEy%e49i|1Drz=SM+jagxBzLRG*Uxy8BaHlz_CMIi#|JM$GKtYvK9_y9M$)RV&hQy z4yA=Dk~^$n2uq~G@lea1UgG4H=2H7bJn*P91P2RGvl=uC74{)~R=7|MOM4Q-$tr@U zM$N2a9|zdSFk1Z7St8{d1Wkek__cVHeFAFfDEwXe!H6{QecvSe9P|SxkN<;K+bmG7 zYnxiY+M0YDZ>6ou%%-xZ-d30rXrWF+*#ra!Mq6qSzpe#5NMN^(8`y85wqtSvIdd;5 zwA&1Qtk5TpK8yFuF=mYT&?bsth7oj(uz1(YLa%k;WozjzxeU$z$Da8LExKa}>Xy#9%JI