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
Metadata
Release files for gamble 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gamble-0.14.0.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gamble-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.6 kB
Release files / gamble-0.14.0.tar.gz
| Download URL | gamble-0.14.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4da99572a6e879e8fb5ec0ab0c5362955f0e37d2b17781a37297c05178678dcd
|
|
BLAKE2b-256 checksum How to use checksums |
fdd18028feed00060499672e9f9b3d3bc611685fbcad60667373554137c69f64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure
|
Release files / gamble-0.14.0-py3-none-any.whl
| Download URL | gamble-0.14.0-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31d2a68626d0180b78b02780054ea6a525bb6506fbd5c613ac792ce991906399
|
|
BLAKE2b-256 checksum How to use checksums |
2dc149ea9d265167a82ad3a977060be7a97dc19fa1159ec50f7cbfb7d96beed8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure
|