An open API service indexing awesome lists of open source software.

https://github.com/lurst/dragn

:game_die: Using dice in a Pythonic way
https://github.com/lurst/dragn

dice hacktoberfest python random

Last synced: 5 months ago
JSON representation

:game_die: Using dice in a Pythonic way

Awesome Lists containing this project

README

          


Dragn Logo


Supported Python versions
PyPI version
Build Status
Codecoverage
Licence
Code style: Black
Downloads

___


Roll dice in your python programs

___

### Why?

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.

### Who is this for?

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`.

### How to install

```shell
$ pip install dragn
```

### How to use

```python
>> 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](https://github.com/LuRsT/dragn/blob/master/dragn/tests/test_dice.py)