| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- API
- ===
- xdice.compile(pattern\_string)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- *Similar to ``xdice.Pattern(pattern_string).compile()``*
- Returns a compiled Pattern object.
- Pattern object can then be rolled to obtain a PatternScore object.
- xdice.roll(pattern\_string)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- *Similar to ``xdice.Pattern(pattern_string).roll()``*
- xdice.rolldice(faces, amount=1, drop\_lowest=0, drop\_highest=0)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- *Similar to
- ``xdice.Dice(faces, amount, drop_lowest, drop_highest).roll()``*
- Dice object
- -----------
- Set of dice.
- Dice.\ **init**\ (sides, amount=1, drop\_lowest=0, drop\_highest=0)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Instantiate a set of dice.
- dice.roll()
- ^^^^^^^^^^^
- Role the dice and return a Score object
- *[classmethod]* Dice.parse(cls, pattern)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Parse a pattern of the form ‘AdX’, where A and X are positive
- integers, then return the corresponding Dice object. Use
- ‘AdX[Ln][Hn]’ to drop the n lowest and/or highest dice when rolled.
- Properties
- ~~~~~~~~~~
- - ``dice.sides``: number of sides of the dice
- - ``dice.amount``: amount of dice to roll
- - ``dice.drop_lowest``: amount of lowest scores to drop
- - ``dice.drop_highest``: amount of highest scores to drop
- - ``dice.name`` : Decsriptive name of the Dice object
- Score object
- ------------
- Score is a subclass of integer, you can then manipulate it as you
- would do with an integer.
- | It also provides an access to the detailed score with the property
- ‘detail’.
- | ‘detail’ is the list of the scores obtained by each dice.
- Score class can also be used as an iterable, to walk trough the
- individual scores.
- ::
- eg:
- >>> s = Score([1,2,3])
- >>> print(s)
- 6
- >>> s + 1
- 7
- >>> list(s)
- [1,2,3]
- Score.\ **new**\ (iterable, dropped=\ ``_, name=“”)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- *``iterable`` should only contain integers*
- Score value will be the sum of the list’s values.
- score.format(verbose=False)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- A formatted string describing the detailed result.
- Properties
- ~~~~~~~~~~
- - score.detail: similar to list(score), return the list of the
- individual results
- - score.name: descriptive name of the dice rolled
- - score.dropped: list of the dropped results
- Pattern object
- --------------
- Dice notation pattern.
- Pattern.\ **init**\ (instr)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Instantiate a Pattern object.
- pattern.compile()
- ^^^^^^^^^^^^^^^^^
- Parse the pattern. Two properties are updated at this time:
- - *pattern.format\_string*
- The ready-to-be-formatted string built from the ``instr`` argument.
- *Eg: ‘1d6+4+1d4’ => ‘{0}+4-{1}’*
- - *pattern.dices*
- The list of parsed dice.
- *Eg: ‘1d6+4+1d4’ => [(Dice; sides=6;amount=1), (Dice;
- sides=4;amount=1)]*
- pattern.roll()
- ^^^^^^^^^^^^^^
- Compile the pattern if it has not been yet, then roll the dice.
- Return a PatternScore object.
- PatternScore object
- -------------------
- PatternScore is a subclass of **integer**, you can then manipulate
- it as you would do with an integer.
- Moreover, you can get the list of the scores with the score(i) or
- scores() methods, and retrieve a formatted result with the format()
- method.
- pattern\_score.scores()
- ^^^^^^^^^^^^^^^^^^^^^^^
- Returns the list of Score objects extracted from the pattern and
- rolled.
- .. _: #section
|