Examples

Basic Usage Cont.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import vox_cards.deck as cards

deck = cards.Deck(2)
# Pass the number of hands to construct this deck with.

deck.deal() # The default number of cards to deal is 7

player_1, player_2 = deck.hands

for card in player_1: # Print all cards in the first hand.
    print(card.full)
    # Prints the full name of the card (i.e. "10 of Clubs").

Keep in mind that hands are iterable, but only return the cards they hold. With that in mind, there is also the ability for hands to draw and discard cards.

13
14
15
16
17
18
19
20
21
22
23
# This will draw the top 2 cards for each palyer, then discard 2 cards at random.
player_1.draw(2)
player_1.discard(2)

player_2.draw(2)
player_2.discard(2)


# You can also pass a card instance to hand.discard for discarding specific card(s).
player_1.discard(player_1.cards[0])
player_2.discard(player_2.cards[0])

Poker

This is poker… kind of. It should give you the general idea of how hands work as a “player”, and the instances created by the deck can act as the players who are playing the card game, and an AI dealer aswell. Or you could give control of the dealer hand to a player and let them be the dealer. You pick.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import vox_cards.deck as cards

deck = cards.Deck(3) # Create a deck with 3 hands

for _ in range(3):
    deck.shuffle()
    # shuffle the deck 3 times - ultra realism

player_1, player_2, river = deck.hands # create a player 1, 2, and a river out of the hands

for _ in range(2): # deal 2 cards to each player, alternating.
    player_1.draw()
    player_2.draw()

river.draw(3) # draw 3 cards on the river
river.draw() # another
river.draw() # and we have them all, lets see who won.

print("\nPlayer 1's hand:")
for card in player_1:
    print(card.full) # heres player 1's cards

print("\nPlayer 2's hand:")
for card in player_2:
    print(card.full) # and player 2's cards

print("\n\nAnd the river is:")
for card in river:
    print(card.full) # and the winner is?