PKK\MUk bdeck.py"""Implementation of the deck collection type.""" __version__ = "2.3" import collections import enum import itertools import random class Suit(enum.Enum): Hearts = "♥" Spades = "♠" Clubs = "♣" Diamonds = "♦" class Value(enum.IntEnum): Ace = 1 Two = 2 Three = 3 Four = 4 Five = 5 Six = 6 Seven = 7 Eight = 8 Nine = 9 Ten = 10 Jack = 11 Queen = 12 King = 13 class Card: def __init__(self, suit=None, value=None, joker=False): self.joker = joker if self.joker: self.suit, self.value = None, None else: if value is None: self.suit, self.value = suit else: self.suit = suit self.value = value def __repr__(self): return ( "Card(joker=True)" if self.joker else f"Card({self.suit!r}, {self.value!r})" ) def __str__(self): return "Joker" if self.joker else f"{self.value.value}{self.suit.value}" class Deck(collections.deque): def __init__(self, include_jokers=True): super().__init__( map( Card, itertools.product( Suit.__members__.values(), Value.__members__.values() ), ) ) if include_jokers: self.append(Card(joker=True)) self.append(Card(joker=True)) def shuffle(self, rng=random): rng.shuffle(self) deal = collections.deque.pop deal_from_bottom = collections.deque.popleft collections.deck = Deck PK!H>*RQdeck-2.3.dist-info/WHEEL HM K-*ϳR03rOK-J,/RH,rzd&Y)r$[)T&UrPK!Hvdeck-2.3.dist-info/METADATATnF}WLQt,4E[H`#QW5b'}0h rؽXU$o}I>,_٥\u^9sRxEO0XfO` ͠`K%t7+2;,[P Q-ʔB5;z3uE <",G#śBƛÆol?tVdZ<5V Z~Jg5S_VTjZ*g@KeUS: v[@ V sfZa[}XHTL"~ɸ:,$<Z4w{Q|+S+- tty+mi0mBzc{;28pt➅ /Vegg,[,#:fdF2uFI[-,K7ʽ㫠|q#]/?OfpVxf߃,rBaD6I:W=|Pk_Cnn~⠣5l(ZxA#G kC:W8{Kud~#saYdB;V_E'SYw@i, jK P eX :;{MgMBj'gC(8濦%\XEJ_PK!Hɴdeck-2.3.dist-info/RECORDm1v0ݳ$4Yh5P'Aj"O@ӷ8hО9BdՍUJ@7gۨ(~PjOM2 vPc} c79Y?kȚ^ݝ[Dw]GFk*RQdeck-2.3.dist-info/WHEELPK!HvBdeck-2.3.dist-info/METADATAPK!HɴU deck-2.3.dist-info/RECORDPK P