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

Linux                                              25 Nov 2001                                       ROLLDICE(6)