PKS%Kpdeck.py'''Implementation of the deck collection type.''' __version__ = '1.0' import collections import enum import itertools import random class Suit(enum.Enum): Hearts = '♥' Spades = '♠' Clubs = '♣' Diamonds = '♦' class Value(enum.IntEnum): Ace = 0 One = 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, value=None): if value is None: self.suit, self.value = suit else: self.suit = suit self.value = value def __repr__(self): return f"Card({self.suit!r}, {self.value!r})" def __str__(self): return f"{self.value.value}{self.suit.value}" class Deck(collections.deque): def __init__(self): super().__init__(map(Card, itertools.product( Suit.__members__.values(), Value.__members__.values() ))) def shuffle(self, rng=random): rng.shuffle(self) deal = collections.deque.pop deal_from_bottom = collections.deque.popleft collections.deck = Deck PK!H}0RRdeck-1.0.dist-info/WHEEL1 0 RZtMDtPI{w<wUnbaKM*A1ѭ g\Ic c~PK!H&deck-1.0.dist-info/METADATAOIN0IJ YQ"*`& DZ}{Fi @.i~"M&b$=ĉUDfVSp̉S7(ZXXcSR Y>-[8Ya`c4J!,L=,̭3cjGBIz UW07׫) A%M6* 9c 9riAz%Eޒ͑v4#lь).2pPK!Hlfdeck-1.0.dist-info/RECORDmI0@ѽg)hA.-8"Æ %kxzٸٽpvS4}E kYKнRP+t%(/|a BE Ãg2{a]18=X"(u |%bC/ڶXni{@?%듋|PKS%Kpdeck.pyPK!H}0RRdeck-1.0.dist-info/WHEELPK!H&}deck-1.0.dist-info/METADATAPK!Hlfdeck-1.0.dist-info/RECORDPK