This commit is contained in:
Alberto Xamin 2020-11-15 18:26:44 +01:00
parent 5400a04c12
commit 66e291e63d
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2
2 changed files with 39 additions and 3 deletions

View File

@ -198,6 +198,3 @@ def get_starting_deck() -> List[Card]:
Saloon(Suit.HEARTS, 5),
WellsFargo(Suit.HEARTS, 3),
]
print('hi')
print(len(get_starting_deck()))

39
deck.py Normal file
View File

@ -0,0 +1,39 @@
import cards
import random
class Deck:
def __init__(self):
super().__init__()
self.cards = cards.get_starting_deck()
self.scrap_pile = []
def peek(self, n_cards: int) -> list:
return self.cards[:n_cards]
def peek_scrap_pile(self,) -> cards.Card:
if len(self.scrap_pile) > 0:
return self.scrap_pile[-1]
else:
return None
def pick_and_scrap(self) -> cards.Card:
card = self.cards.pop(0)
self.scrap_pile.append(card)
return card
def draw(self) -> cards.Card:
card = self.cards.pop(0)
if len(self.cards) == 0:
self.cards = self.scrap_pile[:-1].copy()
random.shuffle(self.cards)
self.scrap_pile = self.scrap_pile[-1:]
return card
def draw_from_scrap_pile(self) -> cards.Card:
if len(self.scrap_pile) > 0:
return self.scrap_pile.pop(0)
else:
return self.draw()
def scrap(self, card: cards.Card):
self.scrap_pile.append(card)