add deck
This commit is contained in:
parent
5400a04c12
commit
66e291e63d
3
cards.py
3
cards.py
@ -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
39
deck.py
Normal 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)
|
Loading…
Reference in New Issue
Block a user