Roll dice in your python programs
I wanted a better API to rolling dice using Python, and the usual random.randint
is very good,
but doesn't really represent rolling dice quite the way I imagine it.
This was a good learning experiment, but I'm not expecting anyone to use it.
People building RPGs, or games that would involve dice and who care about how their code looks like.
I may be biased, but I really believe that this library provides a much better interface than
pure random.randint
.
$ pip install dragn
>> from dragn.dice import D4, D6, D8, D10
>>> D6()
1
>>> f"You roll the die and the result is {D8()}"
'You roll the die and the result is 4'
>>> f"You roll 3 dice and you get {[D8() for _ in range(3)]}"
>>> 'You roll 3 dice and you get [3, 1, 8]'
>>> four_dice = D4 * 4
>>> f"You roll 4 dice and the results are {four_dice()}"
'You roll 4 dice and the results are (4, 3, 1, 2)'
>>> f"You roll two dice and the results are {two_dice()}"
'You roll two dice and the results are (3, 4)'
>>> dice_tower = (D6 * 2) + D4
>>> f"You roll two D6 and a D4 and check the results {dice_tower()}"
'You roll two D6 and a D4 and check the results (2, 2, 6)'
>>> five_dice = D10 * 5
>>> result = five_dice()
>>> result
(7, 10, 2, 8, 1)
>>> f"The lowest value dice in the pool was: {min(result)}"
'The lowest value dice in the pool was: 1'
>>> f"The highest value dice in the pool was: {min(result)}"
'The highest value dice in the pool was: 10'
For more examples, check the tests