blackjack/src/deck.py

29 lines
699 B
Python
Raw Normal View History

2022-12-20 23:51:27 -05:00
import random
class Deck:
2022-12-22 18:30:42 -05:00
def __init__(self, n_decks):
self.cards = []
self.n_decks = n_decks
2022-12-20 23:51:27 -05:00
def count(self):
return len(self.cards)
def shuffle(self, n_decks):
2022-12-22 19:15:38 -05:00
self.cards = []
2022-12-27 18:00:36 -05:00
n_decks = 1 if not n_decks or n_decks not in '12345678' else int(n_decks)
2022-12-20 23:51:27 -05:00
suits = '♠♥♦♣'
2022-12-22 05:00:59 -05:00
cards = 'A234567890JQK'
2022-12-26 16:37:04 -05:00
2022-12-20 23:51:27 -05:00
while n_decks > 0:
self.cards += [card + suit for card in cards for suit in suits]
n_decks -= 1
2022-12-22 18:30:42 -05:00
def check(self):
2022-12-26 16:37:04 -05:00
if self.count() < 1:
2022-12-22 18:30:42 -05:00
self.shuffle(self.n_decks)
2022-12-20 23:51:27 -05:00
def draw(self):
2022-12-22 18:30:42 -05:00
self.check()
2022-12-20 23:51:27 -05:00
return self.cards.pop(random.choice(range(self.count())))
2022-12-22 18:30:42 -05:00