X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/a77b3f8edc13dc6efdbcf80e336689cfa1de08ab..087b6e7b7c1861c118eb976452acc50a866f916f:/monop/roll.c diff --git a/monop/roll.c b/monop/roll.c index a0e9e1c8..373fc733 100644 --- a/monop/roll.c +++ b/monop/roll.c @@ -1,4 +1,4 @@ -/* $NetBSD: roll.c,v 1.6 1997/10/12 17:45:25 christos Exp $ */ +/* $NetBSD: roll.c,v 1.14 2012/06/19 05:35:32 dholland Exp $ */ /* * Copyright (c) 1980, 1993 @@ -12,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -38,50 +34,25 @@ #if 0 static char sccsid[] = "@(#)roll.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: roll.c,v 1.6 1997/10/12 17:45:25 christos Exp $"); +__RCSID("$NetBSD: roll.c,v 1.14 2012/06/19 05:35:32 dholland Exp $"); #endif #endif /* not lint */ -#include "monop.ext" #include +#include "monop.h" + /* * This routine rolls ndie nside-sided dice. */ -# define reg register - -# if defined(pdp11) -# define MAXRAND 32767L - int -roll(ndie, nsides) -int ndie, nsides; +roll(int ndie, int nsides) { + long tot; - long tot; - unsigned n, r; - - tot = 0; - n = ndie; - while (n--) - tot += rand(); - return (int) ((tot * (long) nsides) / ((long) MAXRAND + 1)) + ndie; -} - -# else - -int -roll(ndie, nsides) -int ndie, nsides; { - - int tot, r; - double num_sides; - - num_sides = nsides; tot = 0; while (ndie--) - tot += (r = rand()) * (num_sides / RAND_MAX) + 1; - return tot; + tot += (random() % nsides) + 1; + return (int)tot; } -# endif