trusty (6) rolldice.6.gz

Provided by: rolldice_1.10-5_amd64 bug

NAME

       rolldice - rolls virtual dice

SYNOPSIS

       rolldice [ options ] dice_string dice_string ...

DESCRIPTION

       rolldice rolls virtual dice.  The dice strings passed on the command line contain information on the dice
       to roll in a format comparable to the format used in fantasy role playing games.

OPTIONS

              -h,--help
                     returns the usage of diceroll

              -v,--version
                     returns the version of diceroll

              -r,--random
                     uses /dev/random for random number generating

              -u,--urandom
                     uses /dev/urandom for random number generating (default)

              -s,--separate
                     prints out the result of each individual die separately, as  well  as  the  operations  and
                     totals

DICE STRING FORMAT

       The dice string uses the following format:

              {#x}{#}d[#|%]{*#}{+/-#}{s#}

       The  dice string doesn't have to be in the format that I outlined above, but this is the nicest order for
       me.  It will try to parse any different string containing the same sections in the best way it  can,  and
       will throw out anything that isn't one of the sections below.

              {#}d[#|%]
                     This  is  the  only  required part of the string, and now really isn't even required, as it
                     defaults to 1d6 if not found.  The first number is the number of  dice  to  roll,  and  the
                     second  number  is  the  number of sides the dice have.  The numbers rolled on each die are
                     then added up and given as the result.  Hence 3d6 means "roll  three  six-sided  dice,  add
                     them  together and return the result".  If the first number is left out, then the number of
                     dice defaults to 1.  If the second number is not a number, but a percentage sign, then  the
                     number of sides becomes 100 (for a percentage roll).

              {#x}   This  number tells how many times to roll.  For example, if you want to roll 3 6-sided dice
                     6 times, you would say 6x3d6.  This would return six  numbers,  corresponding  to  the  six
                     different rolls.

              {*#}   This number tells how many times to multiply the result of each roll.  3d6*100 would return
                     a number in the range of 300-1800, since 3-18 is the range resulting  from  3d6,  which  is
                     then multipled by 100.

              {+/-#} This  number  is  the  modifier to be added or subtracted, depending on the sign, from each
                     roll.  1d4+1 would result in a range from 2-5 (1-4 for the die,  plus  1).   This  step  is
                     handled *after* the multiplication modifier.

              {s#}   This  number  tells  the  program  to  drop  the # lowest dice rolls.  This step is handled
                     *before* the multiplication modifier.

       in the order show above.  For an extreme example, "3x4d6*5+1s2" would roll four six-sided dice, drop  the
       lowest  two,  multiply the result by 5, add 1 to that, and repeat the process two more times, for a total
       of three results.

DIAGNOSTICS

       The following error messages may appear on STDERR:

       Failure in getting dice attributes
              Either memory could not be allocated while parsing the string passed to the rolldice program or an
              invalid dice string was entered.
       Failure in rolling dice
              Memory could not be allocated while actually rolling the dice.
       Unknown option
              Take a wild guess ;)

BUGS

       I  haven't noticed any yet...  rolldice is a quick hack to provide a virtual dice roller for FRPGs that I
       play.  Any improvements are greatly welcome, as I am not the most experienced C coder...

AUTHOR

       Stevie Strickland <sstrickl@cc.gatech.edu>

VERSION

       1.10 - 25 Nov 2001