version 1.6, 1997/10/12 17:45:25 |
version 1.7, 1999/08/21 10:40:04 |
Line 49 __RCSID("$NetBSD$"); |
|
Line 49 __RCSID("$NetBSD$"); |
|
* This routine rolls ndie nside-sided dice. |
* This routine rolls ndie nside-sided dice. |
*/ |
*/ |
|
|
# define reg register |
#define reg register |
|
|
# if defined(pdp11) |
#if defined(pdp11) |
# define MAXRAND 32767L |
#define MAXRAND 32767L |
|
|
int |
int |
roll(ndie, nsides) |
roll(ndie, nsides) |
int ndie, nsides; |
int ndie, nsides; |
{ |
{ |
|
long tot; |
long tot; |
unsigned n, r; |
unsigned n, r; |
|
|
|
tot = 0; |
tot = 0; |
n = ndie; |
n = ndie; |
Line 69 int ndie, nsides; |
|
Line 68 int ndie, nsides; |
|
return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie; |
return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie; |
} |
} |
|
|
# else |
#else |
|
|
int |
int |
roll(ndie, nsides) |
roll(ndie, nsides) |
int ndie, nsides; { |
int ndie, nsides; |
|
{ |
int tot, r; |
int tot, r; |
double num_sides; |
double num_sides; |
|
|
num_sides = nsides; |
num_sides = nsides; |
tot = 0; |
tot = 0; |
Line 84 int ndie, nsides; { |
|
Line 83 int ndie, nsides; { |
|
tot += (r = rand()) * (num_sides / RAND_MAX) + 1; |
tot += (r = rand()) * (num_sides / RAND_MAX) + 1; |
return tot; |
return tot; |
} |
} |
# endif |
#endif |