a collection of gambling classes/tools
Project description
gamble is a simple library that implements a collection of some common gambling-related classes
Features
- die, dice, d-notation
- cards, decks, hands
- poker ranks, hand comparison
Usage
Installation
pip install gamble
Basic Usage
Dice
import gamble
# create dice, defaults to 2 6-sided dice
dice = gamble.Dice()
# roll
dice.roll()
>>> 6
dice.rolls
>>> 1
# max, min
dice.max
>>> 12
dice.min
>>> 2
# d-notation for dice constructor
dice = gamble.Dice('d20+8')
# max, min
dice.max
>>> 28
dice.min
>>> 9
# parts
dice.parts
>>> [<d20 Die>, 8]
# roll_many
dice.roll_many(2)
>>> [8, 4]
# max_of, min_of
dice.max_of(3)
>>> (11, [7, 3, 11])
dice.min_of(3)
>>> (2, [2, 9, 4])
Cards
import gamble
# create a deck, defaults to the standard 52 card deck, no jokers
# the deck will be shuffled by default, unless you pass shuffle=False
deck = gamble.Deck()
deck.cards_left
>>> 52
deck.top
>>> <Card:7♠>
deck.bottom
>>> <Card:9♠>
deck.shuffle() # you can also pass times=(int) to shuffle more than once
card = deck.draw() # you can also pass times=(int) to draw a list of cards
>>> <Card:A♠>
# the unicode cards icons are implemented as well!
card.unicode
>>> "🂡"
# draw a poker hand, default size 5
hand = deck.draw_hand(). # you can pass size=(int) to draw a different size hand
>>> <Hand[5](straight flush) [A♠, 2♠, 3♠, 4♠, 5♠]>
hand.rank
>>> Rank(name='straight flush', value=8)
# arbitrary hand, from text notation
new_hand = gamble.Hand.get("2c,3c,4c,Kc,Kh")
>>> <Hand[5](pair) [2♣, 3♣, 4♣, K♣, K♥]>
new_hand.rank
>>> Rank(name='pair', value=1)
hand > new_hand
>>> True
Todo
- hand equals/ge/le method
- hand ranking when hands are very similar
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gamble-0.11.tar.gz
(12.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
gamble-0.11-py3-none-any.whl
(13.8 kB
view details)
File details
Details for the file gamble-0.11.tar.gz.
File metadata
- Download URL: gamble-0.11.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec101aa12a27603b57b49692a1c3e2d8ef92360dff8879f34b6929010452855
|
|
| MD5 |
c066f5c504e4842fc57c6bf61be9b688
|
|
| BLAKE2b-256 |
1373d47e744d527dc9aafb3ce396c51b3b0c29497cc48ad8cb9585583a822c66
|
File details
Details for the file gamble-0.11-py3-none-any.whl.
File metadata
- Download URL: gamble-0.11-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bb29c6a392a5eec7b1c7c22ac5a1df9fbf80daec52a1f4b0de1f8f8218a6ad3
|
|
| MD5 |
542c7c8ab07b71401866c1aea50c876a
|
|
| BLAKE2b-256 |
ce97e13fccf726819b018a55184d38e85802d48e7bd99d9dbe1f1ab8e4d89868
|